Как я могу проверить, существует ли атрибут в 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.Attribute["IsCapital"]!=null?

1 ответ

Решение

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

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

Это задокументировано на XmlAttributeCollection.ItemOfProperty (String),

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

Другие вопросы по тегам