一行中的XML行结构

时间:2015-02-13 08:38:10

标签: python xml python-2.7

发生了奇怪的错误,通过电子邮件向我发送了一个错误格式化的XML文件。文件中的信息都在一行中。

喜欢这个

<?xml version="1.0" encoding="UTF-8" standalone="yes"?><Text><otherText><printdate>2015-02-08</printdate>

是否有人通过使用python脚本或具有相同错误的内容知道一种快速解决方法?

我想制作这样的文件。

<?xml version="1.0" encoding="ISO-8859-1"?>
<Text>
<OtherText>
<Name>VH2</Name>
<PrintDate>2015-02-05</PrintDate>

谢谢!

2 个答案:

答案 0 :(得分:0)

看起来你想打印漂亮,如果你看看其他XML库,比如lxml,它支持漂亮的打印。

import lxml.etree as etree

x = etree.parse("filename")
print etree.tostring(x, pretty_print = True)

但是,您也可以尝试这样做: Pretty printing XML in Python

答案 1 :(得分:0)

如果XML格式正确,则此代码段将起作用

#!/usr/bin/python
import xml.dom.minidom

def main():
    ugly_xml   = open('ugly.xml', 'r')
    pretty_xml = open('pretty.xml', 'w')

    xmll = xml.dom.minidom.parseString(ugly_xml.read())
    pretty_xml.write(xmll.toprettyxml()) 

if __name__ == "__main__":
    main()