基于前一个子节点条件的同级节点的 XPATH



我有以下xml,并希望获取存在学生"类型"的"类型"ID的"cc"值。我希望 XPATH 得到值 345。

我已经尝试过这个,但没有得到任何值.//a/cc[type="bond"]/follow-sibling::cc[type="id"]/value/text((

<?xml version="1.0" encoding="UTF-8"?>
<root> 
  <a> 
    <bb>abc</bb>  
    <cc> 
      <type>id</type>  
      <value>345</value> 
    </cc>  
    <cc> 
      <type>student</type>  
      <value>567</value> 
    </cc>  
    <dd>ddd</dd> 
  </a>  
  <a> 
    <bb>zz</bb>  
    <cc> 
      <type>id</type>  
      <value>999</value> 
    </cc>  
    <cc> 
      <type>employee</type>  
      <value>890</value> 
    </cc>  
    <dd>2</dd> 
  </a> 
</root>

following-sibling替换为preceding-sibling(bond替换为 student (。

//a/cc[type="student"]/preceding-sibling::cc[type="id"]/value/text()

(在 xsh 中测试(。

试试这个:

//a[cc[type="student"]]/cc[type="id"]/value/text()

(https://codebeautify.org/Xpath-Tester 年测试(

最新更新