Python通过xml元素树添加新元素
XML文件Python通过xml元素树添加新元素,python,xml,elementtree,Python,Xml,Elementtree,XML文件 <?xml version="1.0" encoding="utf-8"?> <Info xmlns="BuildTest"> <RequestDate>5/4/2020 12:27:46 AM</RequestDate> </Info> 输出 <ns0:Info xmlns:ns0="BuildTest"> <ns0:RequestDate>5/4/2020 12:27:46 AM</ns0
<?xml version="1.0" encoding="utf-8"?>
<Info xmlns="BuildTest">
<RequestDate>5/4/2020 12:27:46 AM</RequestDate>
</Info>
输出
<ns0:Info xmlns:ns0="BuildTest">
<ns0:RequestDate>5/4/2020 12:27:46 AM</ns0:RequestDate>
<element1>ele1</element1></ns0:Info>
2020年5月4日12:27:46上午
ele1
三个问题:
空白
已消失有什么办法可以妥善处理吗 处理指令不被视为XML元素。只有谷歌,第一个结果是: 处理指令是标记,但它们不是元素 由于您使用的包字面上称为
ElementTree
,因此您可以合理地预期它的对象是元素树。如果我没记错的话,符合DOM的XML包可以支持XML中的非元素标记
对于名称空间问题,答案是堆栈溢出,在-您只需注册在文档顶部元素中指定的名称空间。以下几点对我很有用:
ET.register_namespace("", "Buildtest")
至于空格,新元素没有任何空格。您可以分配给
tail
成员,以便在元素后添加换行符。XML声明是一种特殊的处理指令,易于添加。只要使用tree.write(“output.xhtml”,xml\u declaration=True,encoding=“utf-8”)
@mzjn-谢谢,我学到了一些新东西。我从不为处理指令而烦恼,因为我所有的XML使用都是在我的程序既是XML的生产者又是消费者的情况下进行的。
ET.register_namespace("", "Buildtest")