2012-03-14 3 views
1

Я новичок в XPath.XPathNodeIterator Текущее значение только для родителя

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

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

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

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

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

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

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

+0

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

ответ

1

Я предполагаю, что у вас есть некоторые XML, такие как:

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

и вы видите «outerValueinnerValue1innerValue2» в качестве возвращаемого значения/внешнего.

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

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

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