首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从XML字符串中检索质询元素

从XML字符串中检索质询元素
EN

Stack Overflow用户
提问于 2012-04-24 18:01:31
回答 1查看 585关注 0票数 0

我正在尝试从Xml下面检索质询元素,

我正在使用下面的代码

代码语言:javascript
复制
string Xmlstring = "<?xml version=\"1.0\"?><stream:stream id=\"3DAC47EA\" from=\"chat.facebook.com\" xmlns=\"jabber:client\" xmlns:stream=\"http://etherx.jabber.org/streams\" version=\"1.0\" xml:lang=\"en\"><stream:features><mechanisms xmlns=\"urn:ietf:params:xml:ns:xmpp-sasl\"><mechanism>X-FACEBOOK-PLATFORM</mechanism><mechanism>DIGEST-MD5</mechanism></mechanisms></stream:features><challenge xmlns=\"urn:ietf:params:xml:ns:xmpp-sasl\">dmVyc2lvbj0xJm1ldGhvZD1hdXRoLnhtcHBfbG9naW4mbm9uY2U9QjNBOUU4NzJFQUJGNkQ5RDM0RTZDNjgzMjkyMTBGOEQ=</challenge>";

XmlDocument Doc = new XmlDocument();
Doc.LoadXml(Xmlstring);

我收到错误消息“文件出现意外结束。以下元素未关闭: stream:stream。第1行,位置510。”

EN

回答 1

Stack Overflow用户

发布于 2012-04-24 18:09:05

错误说明了一切,您尝试加载的xml无效,并且流元素未关闭您的xml

代码语言:javascript
复制
<stream:stream id=\"3DAC47EA\" from=\"chat.facebook.com\" xmlns=\"jabber:client\" xmlns:stream=\"http://etherx.jabber.org/streams\" version=\"1.0\" xml:lang=\"en\">

<stream:features>

<mechanisms xmlns=\"urn:ietf:params:xml:ns:xmpp-sasl\">

<mechanism>
X-FACEBOOK-PLATFORM
</mechanism>

<mechanism>
DIGEST-MD5
</mechanism>

</mechanisms>

</stream:features>

<challenge xmlns=\"urn:ietf:params:xml:ns:xmpp-sasl\">
dmVyc2lvbj0xJm1ldGhvZD1hdXRoLnhtcHBfbG9naW4mbm9uY2U9QjNBOUU4NzJFQUJGNkQ5RDM0RTZDNjgzMjkyMTBGOEQ=
</challenge>

您的文档缺少根节点,并且"stream“元素未关闭。更正xml文档将修复错误。

流元素必须固定为

代码语言:javascript
复制
<stream:stream id=\"3DAC47EA\" from=\"chat.facebook.com\" xmlns=\"jabber:client\" xmlns:stream=\"http://etherx.jabber.org/streams\" version=\"1.0\" xml:lang=\"en\">
 ...
</stream:stream>

如果流元素是文档的根,则其他元素位于流元素中。

由于您在代码示例中将其作为字符串(在您的问题中),您可以像下面一样添加缺少的流,并像往常一样将其传递给xmlreader。

(*注意:这只是基于您的示例的一种变通方法,但是我不明白您是如何从服务器获得无效的XML响应的。)

代码语言:javascript
复制
Xmlstring = Xmlstring + "</stream:stream>";

这使xml有效,您可以照常将其加载到文档中。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10295721

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档