Использование xPath в C # для получения значения атрибута узла - PullRequest
3 голосов
/ 10 января 2012

Если у меня есть следующий XML-документ:

<xml>
<data>
<dataset name="X"></dataset>
</data>
</xml>

Как я могу использовать Xpath в c # для получения значения атрибута имени (то есть X)

Ответы [ 3 ]

3 голосов
/ 11 января 2012

Как я могу использовать Xpath в c # для получения значения атрибута name (то есть X)

Это выражение XPath :

/xml/data/dataset/@name 

выбирает требуемый атрибут - все атрибуты с именем name, принадлежащие элементу dataset, который является дочерним элементом элемента data, который является дочерним элементом верхнего элемента XML-документа.

Однако вы хотите получить значение атрибута, а не сам узел .

Это выражение XPath :

string(/xml/data/dataset/@name) 

при оценке выдает искомое строковое значение .

В C # используйте метод XPathNavigator.Evaluate () для оценки приведенного выше выражения.

1 голос
/ 10 января 2012

Используйте этот XPath:

xml/data/dataset/@name
0 голосов
/ 10 января 2012

используйте это выражение XPath:

xml/data/dataset

это будет извлекать узел набора данных.после этого вы можете использовать инструменты C # для извлечения атрибута name из узла.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...