如何获取XmlElement的完整字符串

时间:2013-09-19 20:30:25

标签: c# xml string xml-parsing xmldocument

我试图在xml字符串中获取查询元素(第2个元素)的完整字符串,如下所示:

"<iq type=\"result\" id=\"Roster\" to=\"JJJ@mail.kkk.com\"><query 
 xmlns=\"jabber:iq:roster\"><item jid=\"al@abc.def.com\" name=\"Albert\"
 subscription=\"both\"><group>A</group></item></query></iq>"

我正在使用XmlDocument和代码如下:

XmlDocument XDoc = new XmlDocument();
XDoc.LoadXml(DataBuf);
XmlElement QueryElem = XDoc.DocumentElement["query"];
string QueryBuf = QueryElem.InnerXml;

我需要以query元素开头的完整xml字符串。 InnerXML方法仅返回以“item”数据开头的数据。

如何从以/ query结尾且不包含iq元素数据的查询开始获取完整字符串?

1 个答案:

答案 0 :(得分:2)

使用XmlNode.OuterXml属性:

string QueryBuf = QueryElem.OuterXml;

返回

<query xmlns="jabber:iq:roster"><item jid="al@abc.def.com" name="Albert" subscription="both"><group>A</group></item></query>