Я хочу использовать XPath для фильтрации некоторых элементов в файле XML.
Я использую модуль fs для node.js, чтобы прочитать XML-файл и передать прочитанные данные в parxXml () libxmjs.
Версии fs и libxmljs
$ npm list libxmljs
`-- libxmljs@0.19.5
$ npm list fs
`-- fs@0.0.1-security
Мой код
var libxmljs = require('libxmljs');
var fs = require('fs');
var xmlref = fs.readFile('<filePath>','utf8',filterXmlContents);
function filterXmlContents(err,xml){
console.log('Input XML:'+xml);
//This prints the xml read by fs. It contains NodeOfInterest as well.
var xmlDoc = libxmljs.parseXml(xml);
var node = xmlDoc.get('//NodeOfInterest');
//But here I get undefined.
console.log(node);
console.log(node.text());
}
Я не знаю, почему libxmljs не может анализировать содержимое, прочитанное fs?
Я пытался
xmlDoc.getChildNodes()
и я получаю
[ {}, {}, {}, {}, {} ]
Может кто-нибудь помочь мне с этим? Спасибо.
P.S. В моем коде libxmljs parseXmlFile не работает.
Я получаю TypeError: libxmljs.parseXmlFile is not a function