0

我正在开发一个 XMPP 测试工具,使用 Twisted xpath 来匹配 XMPP 消息。

假设我有一个消息节,例如:

<message to='xxx' type='chat'><body>test</body></message>

如果我想匹配消息的正文文本值为“test”,那么对于标准 xpath 语法,它将是:

"/message/body[.='test']"

但是这种语法在 twisted 中不受支持。

我的问题是:有没有办法解决这个问题?或者这是不可能的?

提前致谢。

4

1 回答 1

0

Twisted Words 为 XMPP 交互提供的 xpath 支持非常有限。它远非完整的 xpath 实现。因此,对于有关它是否支持某些 xpath 功能的任何特定问题,答案很可能是不支持它。

理想情况下,Twisted Words 根本不需要 xpath 实现。它可以构建在 Python 可用的其他 xpath 实现之一(例如,由 lxml 公开的那个)之上。但是,还没有人确定如何实际实现这一点(考虑到 Twisted Words 也为 XMPP 使用了自定义 DOM 实现)。

在完成该任务之前,您可以通过查看twisted/words/xish/xpathparser.g.

据我所知,没有人发明过一种将 Twisted Words DOM 与另一个 xpath 库结合起来的方法,所以你只是被缺少的功能所困扰(如果你知道这样的发明,或者你自己发明了这样的东西,让我们知道!它可能会使上述任务更容易:)。

于 2012-03-07T01:02:47.713 回答