为什么libxmljs无法解析fs.readFile()读取的数据?

时间:2019-05-15 23:58:30

标签: javascript node.js npm xml-parsing

我想使用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

0 个答案:

没有答案