如何获取XmlElement中的属性值?
问题描述:
我有一个包含此数据的XmlElement
:如何获取XmlElement中的属性值?
<message from="[email protected]/admin" to="[email protected]/Jabber.Net" type="groupchat" id="e83Dn-53" xmlns="jabber:client">
<body>:d</body>
<x xmlns="jabber:x:event">
<offline />
<delivered />
<displayed />
<composing />
</x>
<delay stamp="2013-08-07T16:53:32.693Z" xmlns="urn:xmpp:delay" from="[email protected]/Spark 2.6.3" />
<x stamp="20130807T16:53:32" xmlns="jabber:x:delay" from="[email protected]/Spark 2.6.3" />
</message>
我想获得的属性值stamp
和from
的delay
元素中。我已经尝试了几个XPath,但我不知道如何使用它,或者我必须声明一个名称空间。
答
改为使用XElement
。这将为您节省大量时间和精力。
XElement xmlRoot = XElement.Load("someFile.xml");
XElement xmlRoot = XElement.Parse("someXmlString");
string stampValue = xmlRoot
.Element("delay")
.Attribute("stamp")
.Value;
string fromValue = xmlRoot
.Element("delay")
.Attribute("from")
.Value;
如果你有一个以上的元素使用Elements
,但应该是你所需要的基本知识。
你会考虑使用XElement(Linq to XML)吗?然后它只是XElement.Attribute(“Key”)。值 – Jonesopolis