Как проверить, существует ли атрибут в XmlAttributeCollection? - программирование
Подтвердить что ты не робот

Как проверить, существует ли атрибут в XmlAttributeCollection?

Я проверял тему XmlNode.Attributes в MSDN о методах проверки наличия атрибута XmlNode с его именем. Ну, нет примера о том, как проверить элемент.

У меня есть что-то вроде:

  //some code here...

  foreach (XmlNode node in n.SelectNodes("Cities/City"))
  {
        //is there some method to check an attribute like
        bool isCapital = node.Attributes.Exist("IsCapital");

        //some code here...
  }

Итак, что было бы лучшим подходом для проверки наличия или отсутствия атрибута в каждом node? Можно ли использовать node.Attribute["IsCapital"]!=null?

4b9b3361

Ответ 1

Просто используйте индексатор - если атрибут не существует, индексщик возвращает null:

bool isCapital = nodes.Attributes["IsCapital"] != null;

Это описано на XmlAttributeCollection.ItemOfProperty (String).

XmlAttribute с указанным именем. Если атрибут не существует, это свойство возвращает null.