gpt4 book ai didi

xpath - XPath:根据另一个节点值选择一个节点

转载 作者:行者123 更新时间:2023-12-03 17:06:30 28 4
gpt4 key购买 nike

我试图使用一个XPath表达式来选择一个节点,该节点的子节点与文档中的另一个节点匹配。

匹配将意味着该节点的所有属性都相同。因此,如果将一个节点与多个属性进行比较,则无法进行单独的属性比较。

作为示例,给出以下内容:

<Network>
<Machines>
<Machine Name = "MyMachine">
<Services>
<ServiceDetails Description="MyService" Executable="c:\Myservice.exe" DisplayName="My Service" Version="5"/>
</Services>
</Machine>
...
</Machines>
<Services>
<Service Name = "Service1">
<ServiceDetails Description="MyService" Executable="c:\Myservice.exe" DisplayName="My Service" Version="5"/>
</Service>
...
</Services>
</Network>


我想基于MyMachine下列出的ServiceDetails从Services获取服务节点。

我认为它看起来像:

//Services/Service[ServiceDetails = //Machines/Machine[@Name='MyMachine']/ServiceDetails]


但它似乎不起作用。我怀疑'='运算符未正确处理节点比较。我认为有些XPath 2.0方法可能有效,但我使用的是.NET 4.0(System.XML命名空间),我不知道是否可以使用它们。如果XPath 2.0方法在这里有帮助,我将非常感谢您提供有关如何在.Net 4.0中使用它们的解释。

谢谢

最佳答案

用:

/*/Services/Service
[ServiceDetails/@Description
=
/*/Machines/Machine[@Name = "MyMachine"]
/Services/ServiceDetails/@Description
]

关于xpath - XPath:根据另一个节点值选择一个节点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7507907/

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