我需要你的帮助。我是xml的新手,需要获取它的属性。
我有一个由以下InnerXml
表示的邮箱(XmlNode) <Mailbox Id="1" Name="user1@domain.com" />
我需要使用这段代码访问Id属性
mailbox.Attribute["Id"].Value
但它抛出null引用异常。 我没有找到任何解决方案,因为我无法对
进行任何更改.... mailbox.Attribute [“Id”]。值.....代码的一部分
任何人都可以帮助我吗?
答案 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
一切正常。