Python XPath命名空间问题

Python XPath命名空间问题,python,xml,xpath,xmpp,Python,Xml,Xpath,Xmpp,连接到XMPP服务器时,我得到以下两个响应之一: <stream:features xmlns:stream="http://etherx.jabber.org/streams"> <mechanisms xmlns="urn:ietf:params:xml:ns:xmpp-sasl"> <mechanism>PLAIN</mechanism> <mechanism>DIGEST MD5</me

连接到XMPP服务器时,我得到以下两个响应之一:

<stream:features xmlns:stream="http://etherx.jabber.org/streams">
    <mechanisms xmlns="urn:ietf:params:xml:ns:xmpp-sasl">
       <mechanism>PLAIN</mechanism>
       <mechanism>DIGEST MD5</mechanism>
    </mechanisms>
    <auth xmlns="http://jabber.org/features/iq-auth" />
    <register xmlns="http://jabber.org/features/iq-register" />
</stream:features>

我做错了什么?我怎样才能纠正它?请不要说,使用XMPP库之类的东西,我并不是要编写一个完整的XMPP客户机。我只想有足够的代码先注册为用户

我认为
标记报告了错误,指出前缀
未定义


表示
features
标记位于前缀
stream
表示的名称空间下,并且在您的xml片段中没有声明这样的名称空间。

我认为
标记报告的错误是前缀
stream
未定义


表示
features
标记位于前缀
stream
表示的名称空间下,并且在xml片段中没有声明这样的名称空间。

请不要从头编写自己的XMPP库。上的列表中已经有许多可用的。特别是对于Python,请尝试


例如,使用parseDoc是行不通的;您需要以增量方式解析XML。“stream:features”中缺少的“stream”前缀定义就是此类问题的症状。

请不要从头开始编写自己的XMPP库。上的列表中已经有许多可用的。特别是对于Python,请尝试

例如,使用parseDoc是行不通的;您需要以增量方式解析XML。“stream:features”中缺少“stream”的前缀定义就是此类问题的一个症状。

关于“|”的注释非常不正确。“|”运算符表示(两个节点集的)并集。在这个示例表达式中,它的使用非常正确。因此,对回应投了否决票。关于“|”的评论非常不正确。“|”运算符表示(两个节点集的)并集。在这个示例表达式中,它的使用非常正确。因此,对回应投了否决票。
<stream:features>
    <mechanisms xmlns="urn:ietf:params:xml:ns:xmpp-sasl">
        <mechanism>DIGEST-MD5</mechanism>
        <mechanism>PLAIN</mechanism>
        <mechanism>ANONYMOUS</mechanism>
        <mechanism>CRAM-MD5</mechanism>
    </mechanisms>
    <compression xmlns="http://jabber.org/features/compress">
        <method>zlib</method>
    </compression>
    <auth xmlns="http://jabber.org/features/iq-auth" />
    <register xmlns="http://jabber.org/features/iq-register" />
</stream:features>
namespace error : Namespace prefix stream on features is not defined
<stream:features><mechanisms xmlns="urn:ietf:params:xml:ns:xmpp-sasl"><mechanism
                ^