这是我的代码:
from xml.dom import minidom as md
doc = md.parse('file.props')
# operations with doc
xml_file = open('file.props', "w")
doc.writexml(xml_file, encoding="utf-8")
xml_file.close()
我解析XML,我做一些操作,而不是打开和写入它。但是,例如,如果在我的文件中得到:
<MY_TAG />
^
重写为:
<MY_TAG/>
^
我知道这看起来似乎无关紧要,但我的文件会不断受到版本控制GIT的监控,即每次写入时该行都是“不同的”。
与标题相同:
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
它变成了:
<?xml version="1.0" encoding="utf-8"?><Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
哪个很烦人。有线索吗?
答案 0 :(得分:1)
通过解析和序列化保留XML格式的怪癖是非常不可能的。如果您需要进行文本级比较,唯一的方法是规范化您正在比较的格式(有各种XML规范化工具)。
原则上你可以配置git使用一个支持XML的diff工具进行比较,但是请不要问我详细信息,这不是我自己做过的事情。我一直生活在一个非常有效的事实中。