python - python - 重新格式化XML以标准化制表符/缩进

我有一个xml文件,需要非常漂亮的打印,

示例


<Numbers>


 <1>


 <2>


 <3>


</Numbers>



代码


import lxml.etree as etree


output_file = open("output.txt","w")


parsed_file = etree.parse("input.xml")


parsed_bytes = (etree.tostring(parsed_file, pretty_print=True, encoding="unicode"))


output_file.write(parsed_bytes)



时间:

因为你没有提供良好格式的XML代码,所以,<2>不符合标准,要使"xml"代码格式良好,应该将它转换为类似于下面这样的内容:


<Numbers>


 <1 />


 <2 />


 <3 />


</Numbers>



或者


<Numbers>


 <1>


 <2 />


 </1>


 <3 />


</Numbers>



最后
根据XML规范11版,NTName不能以数字开头,它必须以nameStartChar (但是,我想你的命名方案只是为了说明目)开头。

...