下面是关于Python生成XML文件以及美化的完整攻略。
1. Python生成XML文件
Python中常用的处理XML的库有ElementTree
,它是Python内置模块,可以方便地进行XML的解析和生成。下面是生成一个简单的XML文件的实例代码:
import xml.etree.cElementTree as ET
root = ET.Element("root") # 创建根节点
doc = ET.SubElement(root, "doc") # 创建子节点
ET.SubElement(doc, "field1", name="foo").text = "bar1"
ET.SubElement(doc, "field2", name="foo").text = "bar2"
tree = ET.ElementTree(root)
tree.write("test.xml", encoding="utf-8") # 将生成的XML文件保存到本地
在这个例子中,我们首先使用ET.Element
创建了一个名为“root”的根节点。然后,我们创建了一个名为“doc”的子节点,并在子节点下添加了两个名为“field1”和“field2”的标签,分别设置了它们的属性为“name=foo”并赋值为“bar1”和“bar2”。最后,我们将整个XML文件保存到本地。
2. Python美化XML文件
上面生成的XML文件是没有格式化的,它的结构是非常紧凑的,不易阅读和理解。为了让XML文件更加美观和清晰,我们可以使用xml.dom.minidom
模块对生成的XML文件进行美化。下面是美化XML文件的示例代码:
import xml.dom.minidom as minidom
# 打开XML文档
dom = minidom.parse("test.xml")
# 美化XML文档
xml_string = dom.toprettyxml(indent=" ")
# 将美化后的XML保存到本地
with open("test_pretty.xml", "w", encoding="utf-8") as f:
f.write(xml_string)
在这个例子中,我们首先使用minidom.parse
打开上一步生成的XML文件,然后使用dom.toprettyxml
来美化XML文件,并将美化后的XML文件保存到本地。我们可以通过indent
参数指定美化后的XML缩进方式,一般使用空格缩进,数值为2或4。
3. 完整代码示例
下面是一个完整的Python生成和美化XML文件的实现:
import xml.etree.cElementTree as ET
import xml.dom.minidom as minidom
# 创建XML文件
root = ET.Element("root")
doc = ET.SubElement(root, "doc")
ET.SubElement(doc, "field1", name="foo").text = "bar1"
ET.SubElement(doc, "field2", name="foo").text = "bar2"
tree = ET.ElementTree(root)
tree.write("test.xml", encoding="utf-8")
# 美化XML文件
dom = minidom.parse("test.xml")
xml_string = dom.toprettyxml(indent=" ")
with open("test_pretty.xml", "w", encoding="utf-8") as f:
f.write(xml_string)
这个示例中,我们首先生成了一个名为“test.xml”的XML文件,紧接着又对该文件进行了美化操作,并将美化后的文件保存在“test_pretty.xml”中。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python 生成xml文件,以及美化的实例代码 - Python技术站