【问题标题】:Python 2.7 Etree/lxml minimizing [duplicate]Python 2.7 Etree/lxml 最小化[重复]
【发布时间】:2015-09-09 01:01:46
【问题描述】:

我正在使用 lxml/Etree 来解析和写入 XSD 文档。

我有基本结构

tree = ET.parse('file.xsd')
# do stuff
tree.write('output.xsd')

但标签在某些情况下会最小化,例如:

<Cars>
    <Car type="Chevy"></Car>
</Cars>

缩短为

<Cars>
    <Car type="Chevy"/>
</Cars>

有没有办法让 lxml/ETree 不这样做?我四处搜索,显然这是件好事 - 但就我而言,我希望结束标签保持原样。

我正在解析整个树,进行调整并将其保存到另一个文件中

【问题讨论】:

    标签: python xsd formatting lxml


    【解决方案1】:

    使用write方法的method参数。 htmlxml 的参数值

    例如

    tree.write("output.xsd", method="html")
    

    还有 pretty print 参数,其值为 True 或 False

    例如

    tree.write("output.xsd", method="html", pretty_print=True)
    

    有可能的参数:

    write(self, file, encoding=None, method="xml",
              pretty_print=False, xml_declaration=None, with_tail=True,
              standalone=None, compression=0,
              exclusive=False, with_comments=True, inclusive_ns_prefixes=None)
    

    【讨论】:

    • 那么 method='html' 不会截断空标签?问候
    • @enrm:是的,正确的。
    • 非常好!谢谢你的回答
    猜你喜欢
    • 2013-01-09
    • 2016-12-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-08-28
    • 1970-01-01
    • 1970-01-01
    • 2017-07-20
    相关资源
    最近更新 更多