2011-11-16 43 views
16

Tôi đã kiểm tra XmlNode.Attributes topic trên MSDN về các phương pháp để kiểm tra xem một thuộc tính có tồn tại hay không được đặt tên là XmlNode. Vâng, không có mẫu về cách kiểm tra một mục.Làm cách nào để kiểm tra xem thuộc tính có tồn tại trong XmlAttributeCollection không?

Tôi có một cái gì đó như:

//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... 
    } 

Vì vậy, những gì sẽ là phương pháp tốt nhất để kiểm tra xem một thuộc tính tồn tại hay không trong mỗi nút? Có thể sử dụng node.Attribute["IsCapital"]!=null không?

Trả lời

32

Chỉ cần sử dụng các Indexer - nếu thuộc tính không tồn tại, indexer trả null:

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

Đây là tài liệu trên XmlAttributeCollection.ItemOfProperty (String).

XmlAttribute với tên được chỉ định. Nếu thuộc tính không tồn tại, thuộc tính này trả về null.

+0

@ JuniorMayhé - Obrigado! – Oded

+0

+1, để bắt tuyệt vời. –

+0

Dường như không thể áp dụng cho các thuộc tính boolean có thể có nhưng không có giá trị nào được chỉ định. như '' – Ivan

Các vấn đề liên quan