当使用lxml时,是否可以在没有名称空间属性的情况下呈现XML?

2024-09-29 01:21:03 发布

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

我用lxml生成了一些XML,生成的节点如下:

<QBXML xmlns:py="http://codespeak.net/lxml/objectify/pytype" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
py:pytype="TREE">

以及:

^{pr2}$

这些自定义属性正在杀死Quickbooks的解析器。我可以让LXML在没有自定义内容的情况下进行渲染吗?在


Tags: pyorghttpnet节点wwwxmllxml
3条回答

如果要嵌套XML,可以执行以下操作:

from lxml import objectify
doc = objectify.ElementMaker(annotate=False)
doc = (objectify.E.configuration(getattr(objectify.E,'networklists'),name="acl.conf",description="Network Lists"))
objectify.deannotate(doc,cleanup_namespaces=True)

具有自定义属性的输出如下所示:

^{pr2}$

看起来像是下面的处理它:

objectify.deannotate(root, xsi_nil=True)
etree.cleanup_namespaces(root)

或者,如果使用lxml>;=2.3.2(谢谢@Pedru):

^{pr2}$

如果你使用

etree.fromstring(xml_response)

然后这样做:

^{pr2}$

避免解析名称空间

相关问题 更多 >