Почему libxmljs не может анализировать данные, прочитанные функцией fs.readFile ()? - PullRequest
0 голосов
/ 16 мая 2019

Я хочу использовать 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

...