我的 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”的
我尝试将这个 xpath /parent[@name='Iam']/*/toy[@name='wii'] 与 XPathNavigator 一起使用。
`XPathNodeIterator nodeIter = schemaNavigator.Select(schemaXPath, namespaceMgr);`
这显然是错误的,因为它失败了。
我需要 xpath 来选择
我无法更改 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/