微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

通过 XPath 提取属性节点的值

如何解决通过 XPath 提取属性节点的值

//Parent[@id='1']/Children/child/@name

您原来的意思是具有属性child[@name]的元素。你想要。child``name``child/@name

解决方法

如何通过 XPath 提取属性节点的值?

一个示例 XML 文件是:

<parents name='Parents'>
  <Parent id='1' name='Parent_1'>
    <Children name='Children'>
      <child name='Child_2' id='2'>child2_Parent_1</child>
      <child name='Child_4' id='4'>child4_Parent_1</child>
      <child name='Child_1' id='3'>child1_Parent_1</child>
      <child name='Child_3' id='1'>child3_Parent_1</child>
    </Children>
  </Parent>
  <Parent id='2' name='Parent_2'>
    <Children name='Children'>
      <child name='Child_1' id='8'>child1_parent2</child>
      <child name='Child_2' id='7'>child2_parent2</child>
      <child name='Child_4' id='6'>child4_parent2</child>
      <child name='Child_3' id='5'>child3_parent2</child>
    </Children>
  </Parent>
</parents>

到目前为止,我有这个 XPath 字符串:

//Parent[@id='1']/Children/child[@name]

它只返回child元素,但我想拥有name属性的值。

对于我的示例 XML 文件,我希望输出如下:

Child_2
Child_4
Child_1
Child_3

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。