在本文中,任務是將給定列表轉換為 Python 中的 XML。但首先,讓我們討論一下什麽是 XML?
它也可能是定義了一係列規則的術語,用於在人類可讀和機器可讀的格式中對文檔進行編碼。 XML 的設計目標專注於網絡的簡單性、通用性和實用性。它是一種文本格式,通過 Unicode 為各種人類語言提供強大的支持。
您可以參考文章使用 Python 創建 XML 文檔以獲取更多信息。
方法一:使用元素樹
Python 具有一個 內置 庫 ElementTree,它具有讀取和操作 XML(以及其他類似結構的文件)的函數。 ElementTree 將整個 XML 文檔表示為有助於執行操作的樹。該元素表示此樹中的單個節點。整個文檔的讀取和寫入都是在 ElementTree 級別完成的。與一個 XML 元素及其子元素的交互是在元素級別完成的。參考:用 Python 修改 XML 文件
import xml.etree.ElementTree as ET
XML 文檔有部分,稱為元素,由開始和結束標記定義。標記是一種以 < 開頭並以 > 結尾的標記結構。
使用的方法:
- 使用 ElementTree 插入列表項
- 創建根元素為 “userconfig”
- 創建子元素
- 將列表條目插入 sub-element
- 將樹寫入 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?。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。