我想使用XPath过滤掉XML文件中的某些元素。 我正在使用node.js的fs模块读取XML文件,并将读取的数据传递给libxmjs的parseXml()。
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