我正在使用suds进行一些需要参数的 RPC 调用,例如
suds.sax.element.Element('html').append(Element('body'))
这很麻烦,尤其是在所需的 XML 不变的情况下。有没有一种方便的方法可以通过解析文本来获取元素,例如
fromstring('<html><body></body></html>')
?
答案是肯定的。您可以使用suds.sax.parser.Parser
(顺便说一句,为什么这不是直接在 SUDS 文档上??)
答案是不。
没有其他更简单的方法来处理使用 SAX 创建 XML。
我相信这是因为 SAX 在创建 XML 方面的本质(阅读此内容)。
为什么选择 SAX 而不是 DOM API?
编写 suds.sax 模块是因为 elementtree 和其他 python XML 包要么有一个非常不友好的 DOM API,要么(在 elementtree 的情况下)不能充分处理命名空间,尤其是前缀。