當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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?。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。