如何在xml中保存数据
如何在xml中保存数据
我想以以下格式将数据保存在xml中:
我尝试了以下代码,但不知道如何保存为上述格式:
import xml.etree.cElementTree as ET root = ET.Element("posts") row = ET.SubElement(root, "row") ET.SubElement(row, "questionText").text = questionText ET.SubElement(row, "votes").text = votes ET.SubElement(row, "tags").text = tags tree = ET.ElementTree(root) tree.write("data.xml")
如何在xml中保存数据
在这段代码中,SubElement文档表示该函数有以下参数:parent, tag, attrib={}, **extra
。
你忽略了tag
参数,所以你会得到一个错误TypeError: SubElement() takes at least 2 arguments (1 given)
。你需要像下面这样写:
import xml.etree.cElementTree as ET root = ET.Element("posts") row = ET.SubElement(root, "row", attrib={"foo":"bar", "baz":"qux"}) tree = ET.ElementTree(root) tree.write("data.xml")
输出结果为:<posts><row baz="qux" foo="bar" /></posts>
太棒了!它按照我想要的方式工作得很完美,但它只打印了一行。我想要打印多行,也就是说如果有20行要打印,它应该写入20行。我在循环中添加了它。
如果你在谈论XML文件的格式化,有很多选项:stackoverflow.com/questions/17402323/…