我正在尝试解析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
我发现了错误。。。在
^{pr2}$我知道我的代码并没有删除所有的机制,但首先我想绕过手头的问题。无论如何要把它变成可以解析的正确的XML?我需要添加新的页眉还是删除页眉或执行其他操作?在
请使用existing XMPP libraries中的一个。在
下一步:如果XMPP把它当作一个文档来考虑,你不会成功的。你可以在它周围闲逛几天,让自己相信你在做什么,然后你会意识到没有办法告诉服务器什么时候发送完信息,所以没有办法知道什么时候该调用你的文档。在
相反,请使用基于流的解析器。SleekXMPP使用xml.etree.cElementTree.iterparse在套接字周围加上一个包装,使其闻起来像文件。可能还有其他方法,比如直接使用xml.parsers.expat。在
看起来您正在尝试构建一个XMPP库。为什么不使用an existing library,例如SleekXMPP?在
如果您真的需要构建自己的XMPP库,则需要使用a streaming parser,例如Expat。在
相关问题 更多 >
编程相关推荐