如何检查节点是否具有特定属性。

我所做的是:

string referenceFileName = xmlFileName;
XmlTextReader textReader = new XmlTextReader(referenceFileName);

while (textReader.Read())
{
  XmlNodeType nType = textReader.NodeType;

  // if node type is an element
  if (nType == XmlNodeType.Element)
  {
    if (textReader.Name.Equals("Control"))
    {
      if (textReader.AttributeCount >= 1)
      {
        String val = string.Empty;
        val = textReader.GetAttribute("Visible");
        if (!(val == null || val.Equals(string.Empty)))
        {

        }
      }
    }
  }

有什么功能可以检查给定的属性是否存在?

最佳答案

不,我认为XmlTextReader类中没有任何方法可以告诉您特定属性是否存在。

你可以做一件事来检查

if(null == textReader.GetAttribute("Visible"))
{
   //this means attribute doesn't exist
}

因为MSDN谈到了GetAttribute方法
    Return the value of the specified attribute. If the attribute is not found,
 a null reference (Nothing in Visual Basic) is returned.

10-04 17:09