使用 Python 建立 XML 文件


XML 文件有哪些要求?

XML 文件廣泛用於各種計算機系統之間的資料通訊過程。Python 帶有許多內建庫,可用於處理和操作 XML 檔案。在本篇中,我們將探討在生成 XML 文件過程中使用 Python 的方法。首先,我們將檢視一個簡單的示例,然後我們將轉到更復雜的示例。

先決條件

  • Python 3.0

  • 瞭解 XML 語法

步驟和流程

步驟 1:建立基本 XML 文件

要建立 XML 文件,我們將使用 Python 提供的 ElementTree 庫。此庫提供了一種簡單的方法來建立和操作 XML 文件。第一步是匯入 ElementTree 庫。

步驟 2:匯入 ElementTree 庫

語法

import xml.etree.ElementTree as ET

接下來,我們需要建立一個 XML 根元素。根元素是包含所有其他元素的頂級元素。

步驟 3:建立根元素

語法

root = ET.Element('root')

上面程式碼中的 Element() 函式使用給定的標籤名稱建立一個新元素。在本例中,我們將其標籤名稱指定為“root”。

接下來,我們可以建立子元素並將其新增到根元素中。

步驟 4:建立子元素

語法

person = ET.SubElement(root, 'person')
name = ET.SubElement(person, 'name')
age = ET.SubElement(person, 'age')

以上程式碼建立了一個“person”元素作為“root”元素的子元素。它還建立了“name”和“age”元素作為“person”元素的子元素。

接下來,我們可以設定子元素的文字。

步驟 5:設定子元素的文字

語法

name.text = 'John Doe'
age.text = '30'

以上程式碼設定了“name”和“age”元素的文字。

最後,我們可以使用 ElementTree 庫建立 XML 檔案。

步驟 6:建立 XML 檔案

語法

tree = ET.ElementTree(root)
tree.write('person.xml')

以上程式碼建立了一個名為“person.xml”的 XML 檔案,並將 XML 內容寫入該檔案。

現在,我們可以開啟“person.xml”檔案並檢視其內容。

<root>
  <person>
    <name>John Doe</name>
    <age>30</age>
  </person>
</root>

步驟 7:建立高階 XML 文件

在上面的示例中,我們建立了一個簡單的 XML 文件,它只有一個父元素和兩個子元素。我們可以透過巢狀元素和屬性來建立更復雜的 XML 文件。

讓我們考慮一個需要為客戶訂單建立 XML 文件的示例。XML 文件應包含有關客戶、訂單以及訂單中商品的資訊。

步驟 8:建立根元素

root = ET.Element('order')

接下來,我們建立客戶元素作為根元素的子元素。客戶元素將具有客戶姓名和地址的屬性。

步驟 9:建立客戶元素

customer = ET.SubElement(root, 'customer', name='John Doe', address='123 Main St')

以上程式碼建立了一個“customer”元素作為“order”元素的子元素。它還為“customer”元素設定了“name”和“address”屬性。

接下來,我們建立訂單元素作為根元素的子元素。訂單元素將具有訂單日期和訂單 ID 的屬性

步驟 10:建立訂單元素

order = ET.SubElement(root, 'order', date='2020-01-01', id='12345')

以上程式碼建立了一個“order”元素作為“root”元素的子元素。它還為“order”元素設定了“date”和“id”屬性。

接下來,我們建立商品元素作為訂單元素的子元素。商品元素將包含各個商品元素。

步驟 11:建立商品元素

items = ET.SubElement(order, 'items')

以上程式碼建立了一個“items”元素作為“order”元素的子元素。

接下來,我們建立商品元素並將其新增到商品元素中。每個商品元素將具有商品程式碼、描述和數量的屬性。

步驟 12:建立商品元素

item1 = ET.SubElement(items, 'item', code='A100', description='Product A', quantity='5')
item2 = ET.SubElement(items, 'item', code='B200', description='Product B', quantity='10')

以上程式碼建立了兩個“item”元素作為“items”元素的子元素。它還為每個商品元素設定了“code”、“description”和“quantity”屬性。

最後,我們可以使用 ElementTree 庫建立 XML 檔案。

步驟 13:建立 XML 檔案

tree = ET.ElementTree(root)
tree.write('order.xml')

以上程式碼建立了一個名為“order.xml”的 XML 檔案,並將 XML 內容寫入該檔案。

現在,我們可以開啟“order.xml”檔案並檢視其內容。

<order>
   <customer address="123 Main St" name="John Doe" />
   <order date="2020-01-01" id="12345">
      <items>
      <item code="A100" description="Product A" quantity="5" />
      <item code="B200" description="Product B" quantity="10" />
   </items>
   </order>
</order>

使用 Python 建立 XML 文件有哪些優勢?

在建立 XML 文件方面,使用 Python 是最佳方法之一,因為它易於使用、靈活、可擴充套件,並且易於與其他程式語言整合。此外,Python 帶有豐富的工具和模組,可以輕鬆構建複雜的 XML 檔案。此外,Python 提供了大量可用於解析和操作 XML 檔案的庫。

使用 Python 建立 XML 文件的最佳實踐有哪些?

使用 Python 建立 XML 文件的一些最佳實踐包括:使用縮排提高可讀性;使用適當的名稱空間;使用唯一的元素和屬性名稱;以及使用驗證解析器來確保 XML 文件的有效性。此外,在建立 XML 文件時,還應考慮效能和可擴充套件性。

XML 檔案在 Python 中有什麼用途?

XML 代表“可擴充套件標記語言”。它被開發用於儲存和傳輸中低容量的資料,通常用於組織資訊交換。Python 允許您解析和編輯 XML 文件。為了能夠解析 XML 檔案,必須將完整的 XML 文件儲存在記憶體中。

哪個 Python 包用於生成 XML?

xml.etree.ElementTree 模組定義了一個簡單而有效的應用程式程式設計介面 (API),用於讀入和寫出 XML 資料。

XML 的主要目的是什麼?

可擴充套件標記語言(有時稱為 XML)允許使用者建立和儲存資料,以便其他人可以訪問。使用 XML,資訊可以在各種型別的計算機系統(包括網頁、資料庫和第三方應用程式)之間更輕鬆地傳輸。

XML 的優點是什麼?

以下是 XML 提供的優勢:XML 使用人類語言而不是計算機語言。即使對於沒有經驗的使用者,XML 也易於閱讀和理解,並且其編碼複雜度與 HTML 相當。XML 的可移植性是無與倫比的,並且與 JavaTM 完全相容。

XML 類有哪兩種型別?

XML 架構和文件型別定義 (DTD) 是定義 XML 文件的兩種方法。

如何處理 XML 資料?

透過在您的 RPG 軟體中使用 XML-INTO 或 XML-SAX 命令,您將能夠解析 XML 文件。這些語句充當 RPG 語言到高速執行的 XML 解析器的介面。在檢查 XML 文件是否存在大量格式良好的問題時,RPG 正在使用的解析器目前不進行驗證,因此這是它測試的事情之一。

XML 中維護哪些資料?

透過在您的 RPG 軟體中使用 XML-INTO 或 XML-SAX 命令,您將能夠解析 XML 文件。這些語句充當 RPG 語言到高速執行的 XML 解析器的介面。在檢查 XML 文件是否存在大量格式良好的問題時,RPG 正在使用的解析器目前不進行驗證,因此這是它測試的事情之一。

XML 檔案結構如何?

XML 文件包含一個分層結構,在理論上可以理解為樹結構,稱為 XML 樹。XML 文件也可以作為純文字讀取。XML 文件必須有一個根元素(一個作為所有其他元素的父元素的元素)。XML 文件中的所有元素都可以具有子元素、文字和屬性。

最終程式,程式碼

import xml.etree.ElementTree as ET
root = ET.Element('root')
person = ET.SubElement(root, 'person')
name = ET.SubElement(person, 'name')
age = ET.SubElement(person, 'age') name.text = 'John Doe'
age.text = '30' tree = ET.ElementTree(root)
tree.write('person.xml') xml
<root>
   <person>
      <name>John Doe</name>
      <age>30</age>
   </person>
</root> root = ET.Element('order') customer = ET.SubElement(root, 'customer', name='John Doe', address='123 Main St') order = ET.SubElement(root, 'order', date='2020-01-01', id='12345')
items = ET.SubElement(order, 'items') item1 = ET.SubElement(items, 'item', code='A100', description='Product A', quantity='5')
item2 = ET.SubElement(items, 'item', code='B200', description='Product B', quantity='10')
tree = ET.ElementTree(root)
tree.write('order.xml')
xml
<order>
   <customer address="123 Main St" name="John Doe" />
   <order date="2020-01-01" id="12345">
      <items>
      <item code="A100" description="Product A" quantity="5" />
      <item code="B200" description="Product B" quantity="10" />
      </items>
   </order>
</order>

輸出

<root>
   <person>
      <name>John Doe</name>
      <age>30</age>
   </person>
<order>
   <customer address="123 Main St" name="John Doe" />
   <order date="2020-01-01" id="12345">
      <items>
      <item code="A100" description="Product A" quantity="5" />
      <item code="B200" description="Product B" quantity="10" />
      </items>
   </order>
</order>

結論

在本篇中,我們探討了在生成 XML 文件過程中使用 Python 的方法。使用 ElementTree 庫,我們學習了 XML 文件建立和操作的基礎知識。這裡還討論了建立具有巢狀元素和屬性的更復雜 XML 文件。有了這些資訊,使用 Python 建立和操作 XML 文件應該不成問題。

更新於: 2023-04-25

23K+ 瀏覽量

開啟你的 職業生涯

透過完成課程獲得認證

開始學習
廣告

© . All rights reserved.