我要做的是只对指定的根元素做出反应。例如,如果用户发送的xmlstream如下所示:
<auth>
<login>user</login>
<pass>dupa.8</pass>
</auth>
我的方法。应该执行身份验证。我用名为inside connectionmade方法的addobserver方法完成了这项工作。
self.addObserver("/auth", self._auth)
afaik xpath-如果我写了“/auth”,这意味着我希望根元素是“auth”,因此消息:
<longtagislong>
<auth>...</auth>
</longtagislong>
…应该被拒绝,因为auth不是根。
但是Twisted并不能像我认为的那样工作-我的auth方法是在第二条消息出现时执行的(树中有auth元素),而不是第一条消息-auth元素作为根。
所以,我的问题是:如何告诉Twisted和AddObserver方法,我只想在根元素的名称为“auth”时作出反应?