Добавьте атрибуты XML, если они не существуют, с помощью Xpath Navigator

#c# #xml #xpathnavigator

#c# #xml #xpathnavigator

Вопрос:

Я хочу добавлять атрибуты только тогда, когда они не существуют.

Ответ №1:

Проверьте: http://egeveke .blogspot.com/2006/09/xpathnavigator-missing-setattribute.html

В основном вы используете MoveToAttribute, проверяя, был ли он успешным. Если нет, то он не существует, и вы можете создать. Не забудьте либо начать с вашего клона navigator, либо вернуться к родительскому, когда вы добьетесь успеха.

 if (nav.MoveToAttribute())
{
  // exists
  nav.MoveToParent();
} 
else
{
  nav.CreateAttribute(...);
} 
  

Ответ №2:

Проверьте Вставку XML-данных с помощью XPathNavigator. В частности, раздел Inserting Attribute Nodes

Комментарии:

1. но он не проверяет, существует атрибут или нет

Ответ №3:

Используйте свойство «HasAttributes» объекта Xpathnavigator, чтобы проверить, есть ли у него какие-либо атрибуты, а затем продолжайте выполнять свою операцию. Надеюсь, это поможет!!

Комментарии:

1. Я хочу проверить наличие определенного атрибута??/

2. Попробуйте использовать метод getAttribute и на основе его возвращаемого значения вы сможете добавить новый атрибут, если он не существует.

3. вы также можете попробовать использовать MoveToFirstAttribute(), а затем получить его имя и значение, например: ` if (xPathNav.MoveToFirstAttribute()) { Консоль. Строка записи (xPathNav. Имя «=» xPathNav.Значение); }`