Можно ли установить значение атрибута с XPath? - PullRequest
2 голосов
/ 15 марта 2012

Можно ли установить значение атрибута с помощью XPath, как это?

    XPathNavigator xNav = doc.CreateNavigator();
    xNav.MoveToAttribute("requestID", String.Empty);

    xNav.SetAttributeValue??  // need correct method to set a (new) value for current node-attribute..

1 Ответ

1 голос
/ 16 марта 2012

Скорее всего (в коде, который вы не показали), XPathNavigator создан на основе XPathDocument.XPathDocument доступен только для чтения по определению (именно поэтому он гораздо более эффективен).

Из документации MSDN :

" Объекты XPathNavigator, созданные объектами XPathDocument, доступны только для чтения, а объекты XPathNavigator, созданные объектами XmlDocument, можно редактировать. "

Если вы хотите обновить узлы с использованием DOM, вам необходимоиспользуйте другой объект - скажем, XmlDocument.

Конечно, люди давно (7-8 лет) назад поняли, что DOM - не самый лучший способ обработки XML.

Я определенно рекомендую выполнять обработку XML с использованием XSLT - языка, специально разработанного для преобразования деревьев .

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