擅长:python、mysql、java
<p><strong>如果</strong>现实生活中的数据和示例一样简单,并且其中没有错误,则可以使用正则表达式替换一次性完成:</p>
<pre><code>import re
guff = """
<car>Ferrari</car>
<color>red</color>
<speed>300</speed>
<car>Porsche</car>
<color>black</color>
<speed>310</speed>
"""
pattern = r"""
<car>([^<]+)</car>\s*
<color>([^<]+)</color>\s*
<speed>([^<]+)</speed>\s*
"""
repl = r"""<car name="\1">
<color>\2</color>
<speed>\3</speed>
</car>
"""
regex = re.compile(pattern, re.VERBOSE)
output = regex.sub(repl, guff)
print output
</code></pre>
<p>否则,最好一次读3行,做一些验证,然后一次写出一个“car”元素,使用字符串处理或ElementTree。在</p>