0

我有一个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和元素from内部。delay我已经尝试了几个 XPath,但我不知道如何使用它或者我是否必须声明一个命名空间。

4

1 回答 1

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;

如果您有多个元素 use Elements,但这应该是您需要的基础。

于 2013-08-07T18:19:04.983 回答