如何在XmlElement中获取属性值?

时间:2013-08-07 18:10:26

标签: c# xml nsxmlelement

我有XmlElement包含这些数据:

<message from="smithfamily@conference.hp63008-y57/admin" to="admin@hp63008-y57/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="admin@hp63008-y57/Spark 2.6.3" /> 
    <x stamp="20130807T16:53:32" xmlns="jabber:x:delay" from="admin@hp63008-y57/Spark 2.6.3" /> 
</message>

我想在stamp元素中获取属性值fromdelay。我已经尝试了几个XPath,但我不确切知道如何使用它,或者我是否必须声明命名空间。

1 个答案:

答案 0 :(得分:0)

请改用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,但这应该是您需要的基础知识。