2017-06-26 8 views
0

私はcherrioを使用してxmlファイルを解析しています。私はファイルを読み込んでおり、xmlMode:trueも設定しています。NodeJs cherrioライブラリparse 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で見つかったことを示唆することができます。

ノードを検索するときに名前空間を追加しようとしましたが、エラーが発生しました:SyntaxError:不一致擬似クラス。

名前空間を持たないxmlノードのテキストにアクセスできることに注意してください。

名前空間を持つxmlノードを検索するにはどうすればよいですか?

答えて

0

名前空間を追加して動作しています。覚えておくべき唯一のことは、コロンをエスケープする必要があることです。

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