XPathNodeIterator仅适用于Parent的当前值

时间:2012-03-14 08:45:33

标签: c# xml xpathnavigator xpathnodeiterator

我是XPath的新手。

使用C#我试图读取具有父节点和多个子节点的XML文件

使用XPathNavigator,我在root / parent上执行Select并将此值赋给XPathNodeIterator  XPathNodeIterator ni = _xpathNavigator.Select(theTag);

然后我转到Next 我用的时候 ni.Current.Value

我从Parent获取文本值以及Child1和Child2

我想得的是仅限父母的价值

OuterText给出了类似的结果。

有人知道如何让这个工作吗?

1 个答案:

答案 0 :(得分:1)

我假设您有一些xml,例如:

<root>
  <outer>
    outerValue
    <inner1>innerValue1</inner1>
    <inner2>innerValue2</inner2>
  </outer>
</root>

并且您将“outerValueinnerValue1innerValue2”视为/ outer的返回值。

我不相信该对象上有任何属性可以单独给你outerValue。显然,您可以遍历子节点并从连接的字符串中删除它们的值但这太可怕了。

可能最好将新的子节点添加到xml中,例如

<root>
  <outer>
    <value>outerValue</value>
    <inner1>innerValue1</inner1>
    <inner2>innerValue2</inner2>
  </outer>
</root>