0

次のXMLようなファイルがあります。

<article>
   <section> 
      <H4>Table of Contents </H4>
      <p> Content_ID_1 </p>
      <p> content_ID_2 </p>
      <p> content_ID_3 </p>
   </section>
   <section>
      <p>Content_ID_1 </p>
      <p>content_ID_2 </p>
   </section>
</article>

Content_IDを使用して、2 番目のセクションから 1 と 2を抽出しようとしていXpathます。明らかにSection1、最初のヒットであり、結果は目次から返されています。

私が与えたコマンドは次のとおりです。

"//article//section//p[contains(translate(text(), 'ABCDEFGHIJKLMNOPQRSTUVWXYZ', 'abcdefghijklmnopqrstuvwxyz'), 'content_id_2') ]/text()";

明らかに、これはcontent_ID_2目次セクションの最初のものを返します。XPath最初のセクションを除外して、2 番目のセクションの値のみを返すようにする方法はありますか?

前もって感謝します。
-シマク

4

2 に答える 2

0

あなたが試すことができます:

"//article//section[not(H4)]//p[contains(translate(text(), 'ABCDEFGHIJKLMNOPQRSTUVWXYZ', 'abcdefghijklmnopqrstuvwxyz'), 'content_id_2') ]/text()";

[ not(H4)]は、直接の子としてsectionノードを持たないノードのみを選択します。H4

それが役立つことを願っています。

于 2013-06-25T10:31:26.187 に答える