我的 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”的 <parent> 下所有名称为“wii”的 <toy> 节点。请注意,<toy> 可以是 <parent> 的直接子代,也可以是 <parent> 的孙子代(在 <child> 下)
<child>节点可以有 0 个或多个基数。
我尝试将此 xpath /parent[@name='Iam']/*/toy[@name='wii']与 XPathNavigator 一起使用。
`XPathNodeIterator nodeIter = schemaNavigator.Select(schemaXPath, namespaceMgr);`
这显然是错误的,因为它失败了。
我需要 xpath 来选择 <parent> 和 <toy> 之间具有 0 或更多基数的所有节点。
我无法更改 XML 的格式。