python/genshi如何生成动态XML元素

2024-05-20 21:00:20 发布

您现在位置:Python中文网/ 问答频道 /正文

我在Python中直接使用Genshi来生成XML,模板中包含了大部分XML内容。 但是,模板中的一些XML元素应该得到Python程序动态生成的子元素。在

以下是我用于Genshi渲染的参数(在Python中):

stream.render(method='xml', encoding="utf-8", out=outfile_fp, doctype=None)

Genshi模板的代码段:

^{pr2}$

示例值(在Python中):

description = "<p>foo&bar</p>"

实际上,这些值更复杂,并且是有效的XHTML。从模板的角度来看,它们的结构是不可预测的。在

Genshi将其渲染为以下输出:

<mrp:Description>
    <mrp:XHTMLWithLinks>&lt;p&gt;foo&amp;bar&lt;/p&gt;</mrp:XHTMLWithLinks>
</mrp:Description>

因此,它的XML转义了特殊的XML字符。在

一方面,我对它这样做有些同情,另一方面,我不清楚如何解决我的问题。在

奇怪的是,我在这里找到了一些将XML作为变量值的答案,似乎表明Genshi没有XML转义它们,例如here和{a2}。在

安迪


Tags: ltgt程序模板元素内容参数foo