У меня есть документ xml, где узел xml с определенным именем, например «Данные», может появляться где угодно в XML-документе i.e в любом месте иерархии. Мне нужно прочитать эти узлы только с их именем узла и отредактировать атрибуты узла. Какой самый простой способ сделать это?Редактировать Xml-узел
3
A
ответ
4
XmlDocument doc = new XmlDocument();
doc.Load(@"Test.xml");
XmlNodeList elem = doc.GetElementsByTagName("Data");
foreach (XmlNode tag in elem)
{
//do whatever you want to the attribute using SetAttribute method
}
XmlElement.GetElementsByTagName Method будет делать трюк
1
Возможно, что-то подобное может сработать для вас?
XmlNodeList dataNodes = xmlDocument.SelectNodes('//Data')
foreach(XmlNode node in dataNodes)
{
.. // do whatever you need to do
}
Marc
3
Использование XPath вы можете найти все узлы данных с помощью: -
foreach(XmlElement elem in dom.SelectNodes("//Data"))
{
//do stuff to each elem.
}
где дом является XmlDocument загружен с Xml.
В качестве альтернативы, если вы предпочитаете XDocument: -
foreach(XElement elem in doc.Descendents("Data"))
{
//do stuff to each elem.
}
1
Что-то вроде этого:
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load(fileName);
XmlNodeList nodes = xmlDoc.SelectNodes("//Data");
for (int i = 0; i < nodes.Count; i++)
{
nodes[i].Attributes["somevalue"].Value = "edited";
}
xmlDoc.Save(fileName);
Смежные вопросы
- 1. Редактировать Редактировать область администратора
- 2. Как управлять/редактировать/редактировать несколько объектов?
- 3. Редактировать% PATH%
- 4. Редактировать compute_amount
- 5. Редактировать видеокадры
- 6. Редактировать localStream
- 7. Радиокнопка - редактировать
- 8. Редактировать CCTexture2D?
- 9. Редактировать BadRequest
- 10. Редактировать SetParameters
- 11. Редактировать xlsx
- 12. Редактировать Mimetypes.rdf
- 13. Rails 4: Редактировать/Обновить потоки, Редактировать/Обновить сообщения
- 14. Как редактировать поля, выбирая, что нужно редактировать и оставив незатронутым
- 15. Редактировать ListView Групповые заголовки, как мы можем редактировать ListViewItems
- 16. JQgrid inline редактировать второй раз ранее выбранную строку не редактировать?
- 17. EditText, не позволяющий редактировать
- 18. Редактировать значение в DataRowView
- 19. редактировать APK декомпилировано код
- 20. Редактировать & Продолжить не работает
- 21. Как редактировать QTableView
- 22. QText Редактировать полосу прокрутки
- 23. Редактировать словарь в MVC3
- 24. Редактировать возможность навигационной панели
- 25. Редактировать производную WinForm MenuStrip
- 26. TWTweetComposeViewController не позволяет редактировать
- 27. Анализировать HTML редактировать ссылки
- 28. eZ Опубликовать Редактировать Заголовок
- 29. Редактировать DataTable клетки
- 30. ListView DropDownList Редактировать ListView
XmlNode не имеет какого-либо метода SetAttribute. Вместо этого вам нужно работать с XmlElement. – Grank