Ich habe ein riesiges XML-Dokument und ich möchte nur bestimmte Daten daraus extrahieren. Der Link zum Dokument ist: https://pastebin.com/mNXWt7dzIterate durch Xml-Knoten in Knoten js
Ich möchte diese XML-Struktur analysieren, Werte erhalten von jedem client-mac
, client-manuf
und last_signal_dbm
in jedem wireless-client
Knoten des XML. Es gibt auch viele wireless-network
Knoten im Dokument. ich folgenden js Code verwenden:
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());
mit diesem Code kann ich nur Wert aus dem ersten wireless-client
Knoten der ersten wireless-network
analysiert. Ich möchte Werte von allen Knoten mit gleichen Namen. Was soll ich machen? Ich habe bereits andere xml Parser versucht, aber keiner von ihnen scheint für mich zu arbeiten.
BTW-XML-Datei, sagt sie mit der ISO-8859-1-Zeichencodierung geschrieben wurde, aber Sie es mit der ASCII-Zeichencodierung lesen. –
Wird das beim Parsen Probleme verursachen? –
Es könnte sein, weil Zeichen in Element und Attribut [Namen] (https://www.w3.org/TR/REC-xml/#NT-NameStartChar) nicht aus den [C0 Controls und Basic Latin] (http : //www.unicode.org/charts/nameslist/index.html) blockieren. Es könnte auch Text und Kommentare verfälschen. Ich sage nicht, dass es dein aktuelles Problem ist, sondern dass es die Grundregel der Zeichencodierung durchbricht: Lesen mit dem zum Schreiben verwendeten. –