下面有一个xml,首先我将做一个SelectNode来选择.Then,我想对两个选定的节点做一个预测,然后分别为每个节点进行选择。
<Root>
<persons>
<Number>2525</Number>
<Number>2626</Number>
<persons>
<Number>2828</Number>
<Number>2929</Number>
</persons>
</persons>
</Root>当第一次运行foreach时,我将使用Xpath =获取Arpit和Tushar的年龄和名称。
XmlNodeList outcomelist = each.SelectNodes(".//*[local-name()='persons']/*[local-name()='Number']");“每个”是当前节点。
请帮助正确编写xpath,以便我只能获得当前节点的值,而不包括子节点。
请注意,这个xml只是例如purpose.The,真正的xml非常大,解析起来也很繁琐。
发布于 2014-05-26 10:56:01
我认为您需要花一些时间熟悉XPath,因为您使用的是“任何有用的”技术,比如//和*[local-name() = '...'],这会给您带来麻烦。
要选择顶级persons,这个XPath应该可以工作:
XmlNodeList persons = each.SelectNodes("/Root/persons/Number");如果XML使用名称空间,则可以这样做以选择名称:
XmlNodeList age =
each.SelectNodes("/*/*[local-name() = 'persons']/*[local-name() = 'Number']");但是,正如我前面提到的,这是一个黑客,在这种情况下,您真正应该做的是正确地处理名称空间。
https://stackoverflow.com/questions/23868295
复制相似问题