【发布时间】:2012-06-20 00:24:30
【问题描述】:
我正在尝试解析this XML
我想获取所有机制的列表,所以我尝试使用 XPATH(如果有更简单的方法,请提出建议)来获取机制...
这是我的代码:
parseMessage = libxml2.parseDoc(doc)
xpathcon = parseMessage.xpathNewContext()
xpathcon.xpathRegisterNs('urn','http://etherx.jabber.org/streams')
nodes = xpathcon.xpathEval("//urn:text()")
print nodes
这是我遇到的错误......
Entity: line 1: parser error : Premature end of data in tag stream line 1
h"/><register xmlns="http://jabber.org/features/iq-register"/></stream:features>
我知道我的代码不会删除所有机制,但首先我想解决手头的问题。无论如何要把它变成可以解析的正确XML?我是否需要添加新标题或删除标题或做其他事情?
【问题讨论】:
-
为什么不使用现有的 XMPP 库?
-
您链接到的 XML 缺少结束
</stream:stream>。您需要先修复任何发出该 XML 的问题。 -
@millimoose 不,这对于 XMPP 服务器来说是完全正常的。
-
我可以只添加“”吗?
-
@Zash 哦,XMPP 不能通过流式传输格式良好的文档来工作?奇怪的。那是我的错。