无法在 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>

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章