2017-06-26 71 views
0

我正在使用cherrio來解析xml文件。我已經加載了文件,並且我已經設置了xmlMode:true。NodeJs cherrio庫解析xml

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節點?

回答

0

這是通過添加命名空間的工作。唯一要記住的是,你必須避開冒號:

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