我有一个巨大的XML文档,我只想从中提取某些数据。到文档的链接是: https://pastebin.com/mNXWt7dz迭代节点js中的Xml节点
我要分析此XML结构从每个client-mac
,client-manuf
和last_signal_dbm
获得XML的每个wireless-client
节点内的值。文档中还有许多节点。 我使用以下js代码:
var libxmljs = require("libxmljs");
var fs = require("fs");
var xmlPath = "./Kismet.netxml";
var fileData = fs.readFileSync(xmlPath, 'ascii');
var xmlDoc = libxmljs.parseXml(fileData);
var children = xmlDoc.root();
console.log(children.get("//wireless-network//wireless-client//client-mac").text());
使用此代码我只能解析从第一wireless-network
的第一wireless-client
节点值。我想要所有具有相同名称的节点的值。我该怎么办?我已经尝试过其他XML解析器,但他们都没有为我工作。
BTW-XML文件说,这是写与ISO-8859-1字符编码,但您使用的ASCII字符编码阅读它。 –
这会导致解析中的任何问题吗? –
这可能是因为元素和属性[名称](https://www.w3.org/TR/REC-xml/#NT-NameStartChar)中的字符不必是来自[C0控件和基本拉丁语](http ://www.unicode.org/charts/nameslist/index.html)块。它也可能会破坏文本和评论。我不是说这是你目前的问题,只是它打破了字符编码的基本规则:用写作的方式阅读。 –