iT邦幫忙

2024 iThome 鐵人賽

DAY 18
0
Odoo

30天就算 0 基礎,也能使用 GenAI 創造簡單的 Odoo 模組應用系列 第 18

【Day18】透過 JSON 和 字典 (Dictionary) 來解釋 XML格式語法

  • 分享至 

  • xImage
  •  

XML(可擴展標記語言)是一種標記語言,用來結構化、存儲和傳輸數據。XML 的設計目的是為了能夠以一種對人類和機器都容易讀取的方式,定義和描述數據。它類似於 HTML,但不同之處在於,XML 的標籤是自定義的,可以用來表示任何類型的數據,而 HTML 的標籤是固定用來表示網頁結構。

XML 的歷史與用途

XML 是在 1990 年代末期被發展出來的,當時的主要需求是要能夠在不同的系統和應用程式之間傳輸數據,並確保數據格式一致。XML 最初廣泛用於網路應用程式、配置文件、以及數據交換系統中。以下是一些典型的應用場景:

網頁服務和 API: XML 曾被廣泛用於 Web 服務的數據交換,如 SOAP。
配置文件: 許多應用程式會使用 XML 文件來存儲配置,例如 Android 應用程式的配置文件 AndroidManifest.xml。
文檔格式: 比如 Microsoft Office 的早期版本會使用 XML 作為內部數據格式(如 .docx 文件)。

XML 和 JSON 的關聯與差別

XML 和 JSON(JavaScript Object Notation)都是用來表示結構化數據的格式,且都有相似的用途,尤其是在網路應用中交換數據。然而,它們有幾個主要的差異:

語法結構:

XML 使用標籤(tags)來標記數據,類似於 HTML,並且每個數據項目都包裹在成對的標籤中。例如:

JSON 使用鍵值對的格式,更接近於 JavaScript 對象的表現方式。JSON 的數據格式更加簡潔,例如:

{
    "name": "John",
    "age": 30
}

寫成 Python 程式長這樣子,這邊有用到 字典 (Dictionary) 資料結構

person = {
    "name": "John",
    "age": 30
}

XML 使用標籤(tags)來標記數據,類似於 HTML,並且每個數據項目都包裹在成對的標籤中。例如:

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

可讀性:

XML 通常比 JSON 更冗長,因為需要額外的標籤來標記數據的開頭和結尾。
JSON 的結構相對簡潔,容易閱讀,特別適合人類直接閱讀。

用途:

XML 更加靈活,因為它不僅能表示數據,還可以包含屬性和更複雜的結構,並且可以用來表示一些如文檔類型定義(DTD)和命名空間等概念。
JSON 是一種輕量級的數據格式,適合在網路中傳遞數據,特別是在 JavaScript 驅動的應用程式中,因為它與 JavaScript 兼容性高。

應用程式的支持:

XML 是早期的標準,很多老舊系統和大型企業應用仍然使用 XML。
JSON 更適合現代網頁開發,特別是在 REST API 的應用中,由於其簡單、輕量和高效的特性。

小節

XML 曾經是主要的數據交換格式,但隨著網頁技術的進步,JSON 已經逐漸成為主流,特別是在需要更簡潔數據格式的現代網路應用中。然而,XML 在結構化和描述更複雜的數據時,仍然有其優勢,特別是在像 Odoo 這樣的系統中,XML 仍被廣泛應用於定義視圖、模型和配置。


上一篇
【Day17】Odoo ORM 之 SQL 進階功能對應
下一篇
【Day19】Odoo Data File (XML 格式) 預載電商,產品種類、貨幣相關的資料
系列文
30天就算 0 基礎,也能使用 GenAI 創造簡單的 Odoo 模組應用30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言