XmlNode属性

时间:2014-01-25 16:50:33

标签: c# xml xmlnode

我需要你的帮助。我是xml的新手,需要获取它的属性。

我有一个由以下InnerXml

表示的邮箱(XmlNode)

<Mailbox Id="1" Name="user1@domain.com" />

我需要使用这段代码访问Id属性

mailbox.Attribute["Id"].Value 

但它抛出null引用异常。 我没有找到任何解决方案,因为我无法对

进行任何更改

.... mailbox.Attribute [“Id”]。值.....代码的一部分

任何人都可以帮助我吗?

2 个答案:

答案 0 :(得分:1)

尝试使用类似代码的内容

XmlReader reader = XmlReader.Create("Your_XML_Path");
string id;
  while (reader.Read())
        {
            if (reader.NodeType == XmlNodeType.Element)
            {
                if (reader.Name == "Mailbox")
                {
                    id = reader.GetAttribute(0);
                }
            }
        }

试试这个,如果您有任何疑问或者此代码对您不起作用,请告诉我。

答案 1 :(得分:0)

是的,所以我检查了OuterXml(实际上并不知道有区别)

<Mailboxes><Mailbox Id="1" Name="user1@domain.com" />...

这就是为什么它不起作用的原因。 所以现在使用

mailbox.SelectSingleNode("//Mailboxes/Mailbox").Attributes["Id"].Value

一切正常。