2

たとえば、私のXMLコードは次のとおりです。

<part> 
      <name>qwe</name>
      <ir>
          <d>yes</d>
          <scalar>
              <left>31</left>
              <right>0</right>
          </scalar>
      </ir>
</part>
<part> 
      <name>qaz</name>
      <ir>
          <d>yes</d>
          <scalar>
              <left>1</left>
              <right>0</right>
          </scalar>
      </ir>
</part>
<part>
      <name>asd</name>
      <ir>
          <d>yes</d>
          <drive>
              <default>1</default>
          </drive>
      </ir>
</part>
<part> 
      <name>zxc</name>
      <ir>
          <d>no</d>
          <scalar>
              <left>3</left>
              <right>0</right>
          </scalar>
          <drive>
              <default>0</default>
          </drive>
      </ir>
</part>

ノードのデフォルトがないすべての名前を抽出したいのです。つまり、出力はqwe, qazこの例のようになります。デフォルト値が0または1の場合はその値を確認し、デフォルト値が0でデフォルト値が1の印刷物がasd存在zzxcしない場合はデフォルト値がなくデフォルト値のqweない印刷物を確認する必要がqazあります。

4

1 に答える 1

2

デフォルトが常に in の場合はir/drive、次の XPath 式を使用できます。

//part[not(ir/drive/default)]/name/text()
于 2012-10-25T08:43:13.563 に答える