XmlStream.addObserverでのXPathはそれが必要ように動作しません。
質問
私は何をしたいだけ指定されたルート要素に反応させることです。
:ユーザーがXmlStreamを送信した場合たとえば、それは次のようになります<auth>
<login>user</login>
<pass>dupa.8</pass>
</auth>
実行されるべき._auth 私の方法。私はconnectionMadeメソッド内部で呼び出さaddObserver方法でそれをやった。
self.addObserver("/auth", self._auth)
私の知る限りのXPath - 私は「/ AUTH」を書いた場合ので、そのメッセージには、私は私のルート要素が「認証」になりたいということを意味します:
<longtagislong>
<auth>...</auth>
</longtagislong>
認証がルートではないので、...、拒否されなければならない。
しかし、ツイストは、しかし、私はそれがなければならないと思った方法では動作しません - 2番目のメッセージは、(ツリー内部の認証要素で)表示されたときに、私の_auth方法は最初のものではなく、実行されます - 。rootとして認証要素とを
だから、私の質問は:私は、ルート要素の名前が「認証」する場合にのみ反応するようにしたいツイストとaddObserver方法を伝えるためにどのように
?解決
[OK]を、最終的に私は答えを得ました。それは理由XmlStream自体のです。メインルート要素(:<stream/>
など)閉じられていないように接続が限りアクティブです。その中にすべてが「/ AUTH」は<stream><auth></auth></stream>
を意味理由です、XPathのためのルート要素です。
所属していません StackOverflow