gpt4 book ai didi

c# - 用于选择特定节点下的节点的 XPath,中间有零个或多个节点

转载 作者:行者123 更新时间:2023-11-30 22:26:02 25 4
gpt4 key购买 nike

我的 Xml 看起来像这样


<root>
<parent name="Iam">
<child1 name="123">
<toy name="wii">
</toy>
</child>
</parent>
<parent name="Iam">
<toy name="wii">
</toy>
</parent>
<parent name="Sam">
<child1 name="999">
<toy name="xbox">
</toy>
</child>
</parent>
</root>

我需要选择名称为“Iam”的 下名称为“wii”的所有 节点。请注意, 可以是 的直接子代或 的孙代(在 下)

节点可以有 0 个或多个基数。

我尝试将此 xpath /parent[@name='Iam']/*/toy[@name='wii'] 与 XPathNavigator 一起使用。

`XPathNodeIterator nodeIter = schemaNavigator.Select(schemaXPath, namespaceMgr);`

显然是错误的,因为它失败了。

我需要 xpath 来选择 之间具有 0 个或更多基数的所有节点。

我无法更改 XML 的格式。

最佳答案

这似乎对我有用:

        string schemaXPath = "//parent[@name='Iam']//toy[@name='wii']";
XPathNavigator schemaNavigator = oXmlDocument.CreateNavigator();
XPathNodeIterator nodeIter = schemaNavigator.Select(schemaXPath, namespaceMgr);

while (nodeIter.MoveNext() == true)
{
Console.WriteLine(nodeIter.Current.Name);
}

希望这就是您要找的。

干杯!

关于c# - 用于选择特定节点下的节点的 XPath,中间有零个或多个节点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12064010/

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