Текущее значение XPathNodeIterator только для родителей - PullRequest
1 голос
/ 14 марта 2012

Я новичок в XPath.

Использование C # Я пытаюсь прочитать файл XML, в котором есть родительский узел и несколько дочерних узлов

С помощью XPathNavigator я делаю Select для root / parent и назначаю это значение XPathNodeIterator XPathNodeIterator ni = _xpathNavigator.Select(theTag);

Затем я перехожу к следующему Когда я использую ni.Current.Value

Я получаю текстовое значение от Parent, а также от Child1 и Child2

То, что я хочу получить, это значение только Parent

OuterText дает похожие результаты.

Кто-нибудь знает, как заставить это работать?

1 Ответ

1 голос
/ 09 мая 2012

Я полагаю, у вас есть xml, например:

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

и вы видите "outerValueinnerValue1innerValue2" как возвращенное значение /outer.

Я не верю, что на объекте есть какое-либо свойство, которое даст вам только externalValue. Очевидно, что вы можете перебирать дочерние узлы и удалять их значения из строки concat'd, но это ужасно.

Вероятно, лучше всего добавить новый дочерний узел в ваш xml, например.

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