Как я могу проверить, существует ли атрибут в 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
,