有没有简单的方法将XML转换为suds.sax.element.Element实例?

2 投票
2 回答
1341 浏览
提问于 2025-04-16 08:54

我正在使用 suds 来进行一些需要传递参数的远程过程调用(RPC),这些参数像是

suds.sax.element.Element('html').append(Element('body'))

这样做起来很麻烦,特别是当需要的 XML 是固定不变的时候。有没有什么简单的方法可以通过解析文本直接获取元素,比如说

fromstring('<html><body></body></html>')

?

2 个回答

3

答案是肯定的。

你可以使用 suds.sax.parser.Parser 这个工具。

(顺便问一下,为什么这个信息没有直接出现在SUDS的文档里呢?)

0

答案是否定的。
用SAX来创建XML没有更简单的方法。
我觉得这是因为SAX在创建XML时的特点(可以阅读这篇文章)。

为什么选择SAX而不是DOM API呢?

suds.sax模块的出现是因为其他的Python XML库,比如elementtree,要么提供的DOM API非常不友好,要么(像elementtree)在处理命名空间和前缀方面做得不够好。

撰写回答