gpt4 book ai didi

xml - XPATH选择父节点和子节点

转载 作者:行者123 更新时间:2023-12-03 17:02:25 24 4
gpt4 key购买 nike

我在下面的xml文件中,我想使用XPATH选择主机名,实例名称,实例类型

<root>
<hosts>
<host id="11">
<name>ABC</name>
<instances>
<instance id="11-1">
<name>raj</name>
<type>linux</type>
<date>2017</date>
</instance>
<instance id="11-2">
<name>raj1</name>
<type>linux</type>
<date>2017</date>
</instance>
</instances>
</host>
<host id="12">
<name>XYZ</name>
<instances>
<instance id="12-1">
<name>rahul</name>
<type>solaris</type>
<date>2017</date>
</instance>
</instances>
</host>
</hosts>
</root>


我在XPATH下尝试过,它正在选择实例名称和类型,但不确定如何将主机名与实例名称和类型一起打印。

//hosts/host/instances/instance/*[self::name or self:: type]/text()


它选择以下结果。

    raj
linux
raj1
linux
rahul
solaris


但是,我想要如下所示的输出,其中包含主机名

    ABC
raj
linux
raj1
linux
XYZ
rahul
solaris

最佳答案

以下操作(使用|运算符组合由三个查询中的任何一个选择的元素集)将执行以下操作:

  //hosts/host[./instances/instance/name or ./instances/instance/type]/name/text()
| //hosts/host/instances/instance/name/text()
| //hosts/host/instances/instance/type/text()

关于xml - XPATH选择父节点和子节点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44844716/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com