2012-06-28 3 views
2

Я хочу добавить дочерний узел к элементу в XmlDocument. Для жизни меня я не могу найти способ для всех элементов, где существует атрибут с известным значением , не зная имя элемента.XmlDocument SelectNodes: найти элемент только по значению атрибута

Однако я не могу заставить xpath работать.

doc.SelectNodes(/XXXXXX[@Name='the_value_I_want']) 

Что происходит в XXXX, пожалуйста?

Я более чем счастлив переключить эту функцию Linq2Xml, если это проще.

ответ

16
doc.SelectNodes("//node()[@Name='the_value_I_want']") 

или просто

doc.SelectNodes("//[@Name='the_value_I_want']") 
+0

Первое большое спасибо –

3

Просто используйте *

doc.SelectNodes(/*[@Name='the_value_I_want']) 

ИЛИ

doc.SelectNodes(//*[@Name='the_value_I_want']) 
+0

К сожалению это не возвращает никаких узлов для меня - я создал небольшой тестовый документ и ответ @ Pol работал. –

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