Как я могу проверить, существует ли атрибут в XmlAttributeCollection? - PullRequest
17 голосов
/ 16 ноября 2011

Я проверял XmlNode.Attributes topic на 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 Ответ

36 голосов
/ 16 ноября 2011

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

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

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

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

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