当前位置: 首页 > news >正文

vue3+typescript 如何将xml格式的文件转化成key value的形式?

背景

要将接口返回的 XML 数据解析为 JSON 格式,并提取其中的 name 和 ip 信息,然后将其转化为 key: value 结构并渲染到页面上

思路

1、解析 XML 数据:使用 JavaScript 的 DOMParser 解析 XML 数据。
2、提取数据:遍历解析后的 XML 数据,提取 name 和 ip 信息。
3、转换为 key: value 结构:将提取的数据转换为所需的结构。
4、渲染到页面:使用 Vue 3 和 组件库渲染数据。

解决方案

1. 解析 XML 数据
首先,使用 DOMParser 解析 XML 数据:
function parseXML(xmlString: string): Document {const parser = new DOMParser();return parser.parseFromString(xmlString, "application/xml");
}2. 提取数据
遍历解析后的 XML 数据,提取 name 和 ip 信息:
function extractData(xmlDoc: Document): { [key: string]: string } {const domains = xmlDoc.getElementsByTagName("domain"); //获取对应你想要解析的标签const result: { [key: string]: string } = {};for (let i = 0; i < domains.length; i++) {const domain = domains[i];const name = domain.getAttribute("name");//我这里需要的是name和ipconst ipElements = domain.getElementsByTagName("ip");if (name && ipElements.length > 0) {const ip = ipElements[0].textContent;if (ip) {result[name] = ip;}}}return result;
}
3. 转换为 key: value 结构
将提取的数据转换为所需的结构:
const xmlData = `...`; // 你的 XML 数据字符串(通过api读取)
const xmlDoc = parseXML(xmlData);
const data = extractData(xmlDoc);4. 渲染到页面
使用 Vue 3 和 组件库 渲染数据等。
allData.value = Object.values(data).flat().map((item) => ({ ...item }));

http://www.mrgr.cn/news/39754.html

相关文章:

  • scrapy 爬取微博(五)【最新超详细解析】: 爬取微博文章
  • 【2024.9.30练习】素数密度
  • 阿里云表格存储OtsQueryWrapper
  • Nginx部署前端Vue项目的深度解析
  • 学习高级深度学习的必备书——深度学习精粹
  • 银行家的舍入方法探讨20240930
  • [linux 驱动]input输入子系统详解与实战
  • python实用脚本(二):删除xml标签下的指定类别
  • 基于yolov8的100种蝴蝶智能识别系统python源码+pt模型+训练日志+精美GUI界面
  • 在PC端连接苹果手机(iPhone)时,即使已经开启了开发者模式(开发者权限),但仍然无法成功连接,是什么原因?
  • 特征工程——一门提高机器学习性能的艺术
  • 【LeetCode】动态规划—5. 最长回文子串(附完整Python/C++代码)
  • JDBC进阶
  • 【vs code(cursor) ssh连不上服务器(2)】但是 Terminal 可以连上,问题解决 ✅
  • C#名片识别接口集成方式、文字识别API
  • C++ STL(1)迭代器
  • 微信小程序 图片的上传
  • InnerClassLambdaMetafactory 内部类Lambda元工厂 源码解析
  • [Cocoa]_[初级]_[绘制文本如何设置断行方式]
  • 内核级理解套接字和全连接队列