XPathNodeIterator Текущее значение только для родительского элемента

Я новичок в XPath.

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

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

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

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

Я хочу получить только значение Parent

OuterText дает аналогичные результаты.

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


person Mayur Kotlikar    schedule 14.03.2012    source источник
comment
вам будет легче понять вашу проблему, если вы предоставите один образец xml, с которым имеете дело.   -  person Pritam Karmakar    schedule 19.03.2012


Ответы (1)


Я предполагаю, что у вас есть 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>
person smniomwseadly    schedule 08.05.2012