如何在 Python 中將列表轉換為 XML?


可擴充套件標記語言 (XML) 是一種流行的資料交換格式,在許多應用程式中使用。它提供了一種標準化的表示資料的方式,可以輕鬆地被人和機器理解。在許多情況下,需要將儲存在 Python 列表中的資料轉換為 XML 格式以用於各種目的,例如資料交換或儲存。

在本文中,我們將探討使用 Python 內建庫將 Python 列表轉換為 XML 格式的不同方法。

以下是我們可以用來將 Python 列表轉換為 XML 的兩種不同方法。

使用 ElementTree 庫

  • 匯入 xml.etree.ElementTree 庫。

  • 為 XML 樹的根元素建立 ElementTree.Element 的例項。

  • 遍歷列表併為列表中的每個專案建立子元素。

  • 將子元素新增到根元素。

  • 使用 ElementTree.ElementTree 物件將 XML 資料寫入檔案或字串。

請考慮以下程式碼以瞭解上述方法。

示例

import xml.etree.ElementTree as ET

# Create a list
my_list = ['apple', 'banana', 'orange']

# Create the root element of the XML tree
root = ET.Element('fruits')

# Iterate over the list and create child elements
for item in my_list:
	fruit = ET.SubElement(root, 'fruit')
	fruit.text = item

# Use the ElementTree object to write the XML data to a file or string
tree = ET.ElementTree(root)
tree.write('fruits.xml')

解釋

  • 程式碼首先匯入 xml.etree.ElementTree 模組,該模組包含在 Python 標準庫中。

  • 建立了一個包含三個字串元素的 Python 列表 my_list。

  • 程式碼使用 ElementTree 的 Element() 方法建立 XML 樹的根元素,並將其分配給變數 root。傳遞給 Element() 的引數是根元素的標籤名稱。

  • 然後,程式碼使用 for 迴圈遍歷列表中的每個專案。對於每個專案,它使用 root 物件的 SubElement() 方法在根元素下建立一個子元素。傳遞給 SubElement() 的第一個引數是子元素的標籤名稱。第二個引數 item 是子元素的文字內容。

  • 最後,程式碼使用 ElementTree 的 ElementTree() 方法使用 root 作為根元素建立 ElementTree 物件。然後呼叫 ElementTree 的 write() 方法將 XML 資料寫入名為 fruits.xml 的檔案。

輸出

<fruits>
  <fruit>apple</fruit>
  <fruit>banana</fruit>
  <fruit>orange</fruit>
</fruits>

使用 lxml 庫

  • 匯入 lxml 庫。

  • 為 XML 樹的根元素建立 lxml.Element 的例項。

  • 遍歷列表併為列表中的每個專案建立子元素。

  • 將子元素新增到根元素。

  • 使用 lxml.etree.tostring() 方法將 XML 樹轉換為字串。

請考慮以下程式碼。

示例

import xml.etree.ElementTree as ET

# Create a list
my_list = ['apple', 'banana', 'orange']

# Create the root element of the XML tree
root = ET.Element('fruits')

# Iterate over the list and create child elements
for item in my_list:
	fruit = ET.SubElement(root, 'fruit')
	fruit.text = item

# Use the ElementTree object to write the XML data to a file or string
tree = ET.ElementTree(root)
tree.write('fruits.xml')

解釋

  • 程式碼首先匯入 xml.etree.ElementTree 模組,該模組包含在 Python 標準庫中。

  • 建立了一個包含三個字串元素的 Python 列表 my_list。

  • 程式碼使用 ElementTree 的 Element() 方法建立 XML 樹的根元素,並將其分配給變數 root。傳遞給 Element() 的引數是根元素的標籤名稱。

  • 然後,程式碼使用 for 迴圈遍歷列表中的每個專案。對於每個專案,它使用 root 物件的 SubElement() 方法在根元素下建立一個子元素。傳遞給 SubElement() 的第一個引數是子元素的標籤名稱。第二個引數 item 是子元素的文字內容。

  • 最後,程式碼使用 ElementTree 的 ElementTree() 方法使用 root 作為根元素建立 ElementTree 物件。然後呼叫 ElementTree 的 write() 方法將 XML 資料寫入名為 fruits.xml 的檔案。

輸出

<fruits>
  <fruit>apple</fruit>
  <fruit>banana</fruit>
  <fruit>orange</fruit>
</fruits>

結論

我們在本文中討論的兩種方法都涉及從列表建立 XML 樹結構,其中列表中的每個元素對應於 XML 樹中的一個子元素。

更新於: 2023年8月3日

1K+ 瀏覽量

開啟你的 職業生涯

透過完成課程獲得認證

立即開始
廣告