2012-01-10 30 views

ответ

1

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

xml/data/dataset/@name 
0

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

xml/data/dataset 

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

+0

Это ius прекрасно, если я знаю путь, но не для динамического xml-контента – user559142

+0

, тогда ваш вопрос вводит в заблуждение. если вам нужно только найти элементы, у которых в них есть атрибут 'name', используйте путь' @ name', а не путь, который я написал выше. – Orentet

1

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

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

/xml/data/dataset/@name 

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

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

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

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

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

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

Смежные вопросы