我已经编写了一段代码来匿名化/修改XML文件中的患者数据。我遇到的问题是当我将XML写到文件中时,交换了一条关键行。我修改的所有其他行均以正确的顺序写出。像这样的一行:
<id root="2.16.899.1.113883.3.109.3.9999.4.1.1.80210.2.1" extension="102552"/>
最终被这样写出来:
<id extension="98736" root="2.16.899.1.113883.3.109.3.9999.4.1.1.80210.2.1"/>
我使用了xml.dom.minidom
。也许这可能是一个错误的选择,但我坚持使用它。我使用xml_pretty_print
来写出我的文件。根据我的研究,这种方法似乎存在问题。我没有发现关于我所遇到的问题的特定信息。令人困惑的是,我尝试了另一种方法toxml()
,并获得了完全相同的结果,该行被交换了。
那行为什么?它没有什么特别的,我不知道如何或为什么会这样交换。此时我还能尝试什么?还有其他方法不会损害我正在修改的XML的原始格式吗?
f = open(outFile, "w")
#f.write(xml_pretty_str)
f.write(doc.toxml())
f.close()
我希望XML数据以与原始文件相同的格式写出,并且没有换行。