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」時纔會作出反應?