2009-05-28 3 views
0

私はE4Xを使用してJavaScriptでいくつかのXMLをフィルタリングしようとしており、いくつかの特定のニーズがあります。次のように指定します。E4Xはテキストコンテンツでフィルタリングしますか?

 
    var xml = <body> 
     <div> 
     <p>This is some text that I have.</p> 
     </div> 
    </div>; 

"This is some text"で始まる段落のドキュメントを検索します。

現在、私は、段落で取得するには、次のことができます:

xml..div(p.text().toString().indexOf("This is some text") === 0) 

しかし、「本当の」XMLは、(:通常のWebページを考えて)はるかに複雑です。質問の段落に直接的に奉仕する部署があるという保証はありません。同じ親要素内に問題の段落の前後に他の段落が存在することがあります。

アイデア?

答えて

3

すべての<p>のノードをネストレベルのいずれかで検索し、ノードをフィルタして、目的の文字列で始まるものだけを含むようにします。あなたは近かった、あなたが述べてきたように、<DIV>が存在しないかもしれない、ので、あなただけの<のdiv >を取り除く必要がある。:

xml..p.(text().toString().indexOf("This is some text") == 0); 
関連する問題