2

次の XML を検討してください。

<parent no=1>
   <child id=10>
      <child id=101>
      </child>
      <child id=102>
         <child id=10201>
            I want this line.
         </child>
      </child>
   </child>
</parent>
<parent no=2>
   ...
</parent>

すべてのパスを指定するのではなく、親番号= 1の下にあるid = 10201の要素子の値を取得したい。つまり、この方法でノードを取得したくないということです。

parent[@no=1]/child[@id=10]/child[@id=102]/child[@id=10201]

代わりに、子ごとに ID があるため、次のような 1 つの条件でノードを直接フェッチできるはずです。

parent[@no=1]/*/child[@id=10201]

どうやってやるの?

4

1 に答える 1

1

それを行う1つの方法

//子[@id = 10201 と祖先::親[@no = 1]]

そして別の、あなたが試みたように

//親[@no = 1]//子[@id = 10201]
于 2013-06-11T11:53:02.733 に答える