2

以下のタスクにhtmlアジリティを使用しています。

文字列検索語を含むすべてのノードを取得するためのxpath クエリとは何なのか疑問に思っています。要素の属性と内部テキストの両方を検索する必要があります。

<HTML>
 <BODY >
  <H1>Mr T for president</H1>
   <div class="test">We believe the new president should be</div>
   <div id="test">the awsome Mr T</div>
   <div>
    <H2>Mr T replies:</H2>
     <p>test paragraph</p>
     <p class="test">for Mr T</p>
   </div>
  </BODY>
</HTML>

すべての html 要素を属性または内部テキストのいずれかにテストしたいとしますか?

4

2 に答える 2

2

属性値またはテキスト ノードに特定のトークンを含むすべての要素ノードを見つけるには、次のように使用できます。

//*[text()[contains(., 'token')] or @*[contains(., 'token')]]

のように、テキストが他のマークアップによって中断されている場合、これは失敗することに注意してください<p>foo<em>bar</em></p>

于 2014-03-27T11:45:40.987 に答える
0

この XPath を試して、キーワード「test」を要素の内部テキストまたは属性値と照合できます。

//*[contains(text(), 'test') or @*[contains(., 'test')]]
于 2014-03-27T11:52:42.663 に答える