如何用VB.NET从XML文件中提取所有<symbol>值到数组?
提取XML中所有节点值到数组的最简方法
注意:你的XML包含命名空间(http://www.radan.com/ns/project),提取时必须处理该命名空间,否则会无法匹配到目标节点。以下是几种不同场景下的最简实现方案:
1. Python(使用标准库,无需额外安装)
直接用Python内置的xml.etree.ElementTree模块处理:
import xml.etree.ElementTree as ET # 解析目标XML文件 tree = ET.parse("你的XML文件名.xml") root = tree.getroot() # 定义命名空间映射 ns_map = {"radan": "http://www.radan.com/ns/project"} # 提取所有Symbol节点的文本内容,存入数组 symbol_array = [elem.text for elem in root.findall(".//radan:Symbol", ns_map)] print(symbol_array) # 输出示例: ['C:\\Users\\VEREST\\Desktop\\ide2\\kor100.sym', 'C:\\Users\\VEREST\\Desktop\\ide2\\korteszt.sym']
2. Node.js(使用轻量解析库fast-xml-parser)
先安装依赖:
npm install fast-xml-parser
再编写提取代码:
const { XMLParser } = require("fast-xml-parser"); const fs = require("fs"); // 读取XML文件内容 const xmlContent = fs.readFileSync("你的XML文件名.xml", "utf8"); // 初始化解析器 const parser = new XMLParser({ ignoreAttributes: false }); // 将XML转为JS对象 const xmlObj = parser.parse(xmlContent); // 从对象中提取所有Symbol值到数组 const symbolArray = xmlObj.RadanProject.Parts.Part.map(item => item.Symbol); console.log(symbolArray); // 输出示例: ['C:\\Users\\VEREST\\Desktop\\ide2\\kor100.sym', 'C:\\Users\\VEREST\\Desktop\\ide2\\korteszt.sym']
3. 命令行(使用xmllint,Linux/macOS自带,Windows需单独安装)
无需编写代码,直接执行命令即可输出所有Symbol值(逗号分隔,可直接转为数组):
xmllint --xpath "//*[local-name()='Symbol']/text()" 你的XML文件名.xml | tr '\n' ',' | sed 's/,$//'
内容的提问来源于stack exchange,提问作者Tribor83
相关产品推荐
相关产品推荐

