Как проверить, есть ли внутри элемента XML текстовый элемент? - PullRequest
5 голосов
/ 03 октября 2010

Я хотел бы знать, как я могу проверить следующую ситуацию:

<foo>
    <bla1>xxx</bla1>
    <bla2>yyy</bla2>
    <bla3>zzz</bla3>
</foo>

В то время как (reader.Read ()), я опускаю элемент XmlNodeType.Element, когда я в fooи bla1, bla2, bla3 ... При добавлении .TextElement в xxx, yyy, zzz.Но могу ли я проверить, будет ли у бла текстовое значение внутри или нет?

Большое спасибо

Педро Дуссо

Ответы [ 3 ]

2 голосов
/ 04 октября 2010

Нет, вы не можете до тех пор, пока вы используете XmlReader .

. Класс XmlReader реализует курсор только вперед через иерархию XML.Таким образом, вы можете работать только с узлом XML, найденным в текущей позиции.

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

0 голосов
/ 04 октября 2010

Что-то не так с ридером. Имеет значение?(или string.IsNullOrEmpty (reader.Value))?

0 голосов
/ 03 октября 2010

Если вы используете XmlTextReader, вы можете использовать свойство IsEmptyElement

...