NodeJs cherrio库解析xml

时间:2017-06-26 13:27:10

标签: node.js cheerio

我正在使用cherrio来解析xml文件。我已经加载了文件,并且我已经设置了xmlMode:true。

var $ = cheerio.load(rawAssertion, {
    xmlMode: true
});

我的xml就像是吼叫:

<myNamespace:myTagData>
    <myNamespace:myTag>data inside this node</myNamespace:myTag>
</myNamespace:myTagData>

我的问题是我正在搜索的特定节点有一个命名空间,看起来做一个简单的搜索找不到我的节点。我尝试了以下方法:

var tagInfo= $('myTag');
console.log(tagInfo.text());

打印文本值时,结果为空字符串。据我所知,这可以表明该元素现在可以在xml中找到。

我在搜索节点时尝试添加namspace,但收到错误:SyntaxError:unmatched pseudo-class。

请注意,我可以访问没有命名空间的xml节点的文本。

如何搜索具有命名空间的xml节点?

1 个答案:

答案 0 :(得分:0)

通过添加命名空间来工作。唯一要记住的是你必须逃避冒号:

var tagInfo= $('myNamespace\\:myTag');
console.log(tagInfo.text());