无法在Python中访问xml



我对Python和编程非常陌生,现在我正在学习xml处理。问题是,我不能写xml文件。我得到一个"无效的语法"。由于第一个" "xml version="1.0"?>.我正在使用IDLE 3.9.7,不知道,如果这很重要。对不起,如果这是一个愚蠢的问题,但我真的没有头绪。

<?xml version="1.0"?>
<group>
<person id="1">
<name>John Smith</name>
<age>20</age>
<weight>80</weight>
<height>188</height>
</person>
<person id="2">
<name>Mike Davis</name>
<age>45</age>
<weight>82</weight>
<height>185</height>
</person>
<person id="3">
<name>Anna Johnson</name>
<age>33</age>
<weight>67</weight>
<height>167</height>
</person>
<person id="4">
<name>Bob Smith</name>
<age>60</age>
<weight>70</weight>
<height>174</height>
</person>
<person id="5">
<name>Sarah Pitt</name>
<age>12</age>
<weight>50</weight>
<height>152</height>
</person>
</group>

我想创建一个xml文件,我可以使用SAX和DOM,按照我的学习材料的指示。

下面的代码将生成您发布的XML。这对你来说是个不错的起点。

import xml.etree.ElementTree as ET

data = [{'name': 'jack', 'age': 20, 'weight': 67, 'height': 188},
{'name': 'sam', 'age': 25, 'weight': 63, 'height': 181}]
group = ET.Element('group')
for idx,entry in enumerate(data,1):
person = ET.SubElement(group,'person',attrib={'id':str(idx)})
for k,v in entry.items():
e = ET.SubElement(person,k)
e.text = str(v)
ET.dump(group)

输出
<?xml version="1.0" encoding="UTF-8"?>
<group>
<person id="1">
<name>jack</name>
<age>20</age>
<weight>67</weight>
<height>188</height>
</person>
<person id="2">
<name>sam</name>
<age>25</age>
<weight>63</weight>
<height>181</height>
</person>
</group>

最新更新