1
我想要做的只是对指定的根元素作出反应。例如,如果用户发送如下所示的XmlStream:XmlStream.addObserver中的XPath无法正常工作
<auth>
<login>user</login>
<pass>dupa.8</pass>
</auth>
我的方法._auth应该执行。我用addObserver方法在connectionMade方法内调用了它。
self.addObserver("/auth", self._auth)
AFAIK XPath的 - 如果我写“/身份验证”这意味着我希望我的根元素为“身份验证”,这样的消息:
<longtagislong>
<auth>...</auth>
</longtagislong>
...应该被拒绝,因为auth不是root。
但是Twisted却不能按我认为应该的方式工作 - 当第二条消息出现时(auth元素在树中),我的_auth方法被执行,而不是第一条 - auth元素作为根。
所以,我的问题是:如何告诉Twisted和addObserver方法,我只想在根元素的名称是“auth”时才会作出反应?