擅长:python、mysql、java
<p>这里有一个方法。确保所有空元素的<code>text</code>值不是<code>None</code>。在</p>
<p>示例:</p>
<pre><code>from lxml import etree
XML = """
<root>
<MemoryEnv></MemoryEnv>
<AlsoEmpty></AlsoEmpty>
<foo>bar</foo>
</root>"""
doc = etree.fromstring(XML)
for elem in doc.iter():
if elem.text == None:
elem.text = ''
print etree.tostring(doc)
</code></pre>
<p>输出:</p>
^{pr2}$
<hr/>
<p>另一种方法是使用<a href="http://lxml.de/api/lxml.etree._ElementTree-class.html#write_c14n" rel="nofollow">^{<cd3>}</a>方法将<a href="https://en.wikipedia.org/wiki/Canonical_XML" rel="nofollow">canonical XML</a>(不使用特殊的空元素语法)写入文件。在</p>
<pre><code>from lxml import etree
XML = """
<root>
<MemoryEnv></MemoryEnv>
<AlsoEmpty></AlsoEmpty>
<foo>bar</foo>
</root>"""
doc = etree.fromstring(XML)
doc.getroottree().write_c14n("out.xml")
</code></pre>