当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python lists转XML用法及代码示例


在本文中,任务是将给定列表转换为 Python 中的 XML。但首先,让我们讨论一下什么是 XML?

它也可能是定义了一系列规则的术语,用于在人类可读和机器可读的格式中对文档进行编码。 XML 的设计目标专注于网络的简单性、通用性和实用性。它是一种文本格式,通过 Unicode 为各种人类语言提供强大的支持。

您可以参考文章使用 Python 创建 XML 文档以获取更多信息。

方法一:使用元素树

Python 具有一个 内置 库 ElementTree,它具有读取和操作 XML(以及其他类似结构的文件)的函数。 ElementTree 将整个 XML 文档表示为有助于执行操作的树。该元素表示此树中的单个节点。整个文档的读取和写入都是在 ElementTree 级别完成的。与一个 XML 元素及其子元素的交互是在元素级别完成的。参考:用 Python 修改 XML 文件



import xml.etree.ElementTree as ET

XML 文档有部分,称为元素,由开始和结束标记定义。标记是一种以 < 开头并以 > 结尾的标记结构。

使用的方法:

  1. 使用 ElementTree 插入列表项
  2. 创建根元素为 “userconfig”
  3. 创建子元素
  4. 将列表条目插入 sub-element
  5. 将树写入 XML 文件

Python3


# Firstly we have to import 'xml.etree.ElementTree' for creating a subtree
import xml.etree.ElementTree as ET
  
users_list = ["GeeksForGeeks", "Arka", "Computer Science", "Engineering", "Portal"]
  
def create_xml():
  
        # we make root element
        usrconfig = ET.Element("usrconfig")
  
        # create sub element
        usrconfig = ET.SubElement(usrconfig, "usrconfig")
  
        # insert list element into sub elements
        for user in range(len( users_list)):
  
                usr = ET.SubElement(usrconfig, "usr")
                usr.text = str(users_list[user])
  
        tree = ET.ElementTree(usrconfig)
  
        # write the tree into an XML file
        tree.write("Output.xml", encoding ='utf-8', xml_declaration = True)
  
create_xml()

输出:

方法二: 使用 xml.dome

xml.dom.minidom 模块为创建 DOM 树提供了一个简单的解析器。 DOM(文档对象模型)可能是来自 W3C 的 cross-language API,即用于访问和修改 XML 文档的万维网联盟。 Python 使您能够在 xml.dom.minidom 的帮助下解析 XML 文件,这是 DOM 接口的最小实现。它比完整的 DOM API 更简单,并且会被认为更小。

有关给定库的进一步参考,请访问 Parse XML using Minidom in Python。

Python3


from xml.dom import minidom 
import os 
  
users_list = ["GeeksForGeeks", "Arka", "Computer Science", "Engineering", "Portal"]
  
# create file
root = minidom.Document() 
  
# creat root element
xml = root.createElement('root') 
root.appendChild(xml) 
  
for user in range(len( users_list)):
  
    # create child element
    productChild = root.createElement('product'+ str(user))
  
    # insert user data into element
    productChild.setAttribute('list', users_list[user] ) 
    xml.appendChild(productChild) 
  
xml_str = root.toprettyxml(indent ="\t") 
  
# save file
save_path_file = "gfg.xml"
  
with open(save_path_file, "w") as f: 
    f.write(xml_str) 

输出:




相关用法


注:本文由纯净天空筛选整理自biswasarkadip大神的英文原创作品 How to convert lists to XML in Python?。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。