什麼是 XML?

可擴展標記語言 (XML) 可讓您以可共用的方式定義和儲存資料。XML 支援電腦系統 (例如網站、資料庫和第三方應用程式) 之間的資訊交換。預先定義的規則可讓您輕鬆地透過任何網路將資料當做 XML 檔案傳輸,因為收件者可以使用這些規則來準確且有效地讀取資料。

為什麼 XML 很重要?

可擴展標記語言 (XML) 是一種標記語言,可提供規則來定義任何資料。與其他程式設計語言不同,XML 本身不能執行運算操作。相反,任何程式設計語言或軟體都可以用於結構式資料管理。

例如,假設有一個帶注釋的文字文件。這些注釋可能會給出如下建議:

  • 將標題設為粗體
  • 這句話是一個標題
  • 這個詞語是作者

此類注釋可改善文件的可用性,且不會影響其內容。同樣,XML 使用標記符號來提供有關任何資料的詳細資訊。其他軟體 (例如瀏覽器和資料處理應用程式) 會使用這些資訊更有效地處理結構式資料。

XML 標籤

您可以使用標記符號 (在 XML 中稱為標籤) 來定義資料。例如,若要表示書店的資料,您可以建立 <book>、<title> 和 <author> 等標籤。單本書的 XML 文件將具有以下類似內容:

<book>

<title> Learning Amazon Web Services </title>

<author> Mark Wilkins </author>

</book>

標籤帶來複雜的資料編碼功能,以整合不同系統的資訊流。

使用 XML 的好處有哪些?

支援企業間交易

當一家公司將商品或服務銷售給另一家公司時,這兩家企業需要交換諸如成本、規格和交貨時間表等資訊。利用可擴展標記語言 (XML),他們可以透過電子方式共享所有必要的資訊,並自動完成複雜的交易,而無需任何人為干預。 

維護資料完整性

XML 允許您將資料與資料描述一起傳輸,防止遺失資料完整性。您可以使用此描述性資訊執行下列操作:

  • 驗證資料準確性
  • 自動為不同使用者自訂資料呈現方式
  • 在多個平台上一致地儲存資料 

提高搜尋效率

諸如搜尋引擎等電腦程式可以更有效且更精確地對 XML 檔案 (與其他類型的文件相比) 進行排序和分類。例如,詞語標記可以是名詞或動詞。根據 XML 標籤,搜尋引擎可以準確地對相關搜索結果的標記進行分類。因此,XML 可以幫助電腦更有效地解釋自然語言。

設計靈活的應用程式

使用 XML,您可以方便地升級或修改應用程式設計。許多技術,尤其是較新的技術,都帶有內建的 XML 支援。他們可以自動讀取和處理 XML 資料檔案,以便您可以進行變更,而不必重新格式化整個資料庫。

 

XML 的應用有哪些?

可擴展標記語言 (XML) 是數千種應用程式的基礎技術,從文字處理等常見的生產力工具到書籍出版軟體,甚至是複雜的應用程式組態系統。

資料傳輸

您可以使用 XML 在兩個以不同格式儲存相同資料的系統之間傳輸資料。例如,您的網站以 MM/DD/YYYY 格式儲存日期,但會計系統以 DD/MM/YYYY 格式儲存日期。您可以透過使用 XML 將資料從網站傳輸到會計系統。您的開發人員可以撰寫程式碼,自動進行下列轉換:

  • 網站資料轉換為 XML 格式
  • XML 資料轉換為會計系統資料
  • 會計系統資料轉換為 XML 格式
  • XML 資料轉換回網站資料

Web 應用程式

XML 為您在網頁上看到的資料提供了結構。其他網站技術 (例如 HTML) 可與 XML 搭配使用,向網站訪客呈現一致且相關的資料。例如,假設有一個銷售衣服的電子商務網站。該網站沒有向所有訪客展示所有衣服,而是使用 XML 根據使用者偏好建立自訂網頁。它透過篩選 <brand> 標籤來顯示特定品牌的產品。

文件

您可以使用 XML 來指定任何技術文件的結構資訊。然後,其他程式會處理文件結構以便靈活地呈現它。例如,段落、編號清單中的項目以及標題中都有 XML 標籤。使用這些標籤,其他類型的軟體會自動準備文件以供使用,例如列印和網頁發布。

資料類型

許多程式設計語言都支援 XML 作為資料類型。有了這項支援,您可以輕鬆地使用其他語言撰寫直接使用 XML 檔案的程式。

XML 檔案的組成部分有哪些?

可擴展標記語言 (XML) 檔案是基於文字的文件,您可以使用 .xml 副檔名進行儲存。您可以編寫類似於其他文字檔案的 XML。若要建立或編輯 XML 檔案,您可以使用下列任一工具: 

  • 文字編輯器,例如 Notepad 或 Notepad++
  • 線上 XML 編輯器
  • 網頁瀏覽器

任何 XML 檔案都包含下列組件。

XML 文件

<xml></xml> 標籤用於標記 XML 檔案的開頭和結尾。這些標籤內的內容也稱為 XML 文件。這是任何軟體將尋找以處理 XML 程式碼的第一個標籤。

XML 宣告

XML 文件以 XML 本身的一些資訊開始。例如,它可能會提到它遵循的 XML 版本。這種開頭稱為 XML 宣告。下面是一個範例。

<?xml version="1.0" encoding="UTF-8"?>

XML 元素

您在 XML 文件中建立的所有其他標籤稱為 XML 元素。XML 元素可以包含以下特征:

  • 文字
  • 屬性
  • 其他元素

所有 XML 文件都以主標籤開始,稱為根元素。

例如,假設有下面的 XML 檔案。

<InvitationList>

<family>

       <aunt>

       <name>Christine</name>

        <name>Stephanie</name>

       </aunt>

</family>

</InvitationList>

<InvitationList> 是根元素;familyaunt 是其他元素名稱。

XML 屬性

XML 元素可以有稱為屬性的其他描述元。您可以定義自己的屬性名稱,並在引號中寫入屬性值,如下所示。

<person age=“22”>

XML 內容

XML 檔案中的資料也稱為 XML 內容。例如,在 XML 檔案中,您可能會看到類似以下資料。 

<friend>

       <name>Charlie</name>

       <name>Steve</name>

</friend>

資料值 CharlieSteve 是內容。

什麼是 XML 結構?

可擴展標記語言 (XML) 結構是描述 XML 檔案結構的某些規則或限制的文件。您可以用幾種不同的方式描述這些限制,如下所示:

  • 用於確定元素順序的語法規則
  • 內容必須滿足的「是」或「否」條件
  • XML 檔案內容的資料類型
  • 資料完整性的限制

例如,書店的 XML 結構可能會強加如下限制:

  1. book 元素將具有 titleauthor 屬性。
  2. book 元素將嵌套在具有屬性名的 category 元素下。
  3. 書的價格是嵌套在 book 下的單獨元素。 

為了滿足這些限制,我們將如下所示編寫 XML 檔案。 

<category name=“Technology”>

<book title=“Learning Amazon Web Services”, author=“Mark Wilkins”>

<price>20 美元</price>

</book>

</category>

XML 結構強制了不同軟體應用程序如何建立和使用 XML 檔案的一致性。有些產業會實作其業務專屬的 XML 結構,以降低撰寫 XML 程式碼的複雜性,從而實現企業間的資料傳輸。例如,可縮放向量圖形 (SVG) 是用來描述電腦圖形相關資料的 XML 規範。軟體開發人員編寫 XML 檔案,以便他們滿足這樣的行業規範。

什麼是 XML 剖析器?

可擴展標記語言 (XML) 剖析器是可以處理或讀取 XML 文件以擷取其中資料的軟體。XML 剖析器還檢查 XML 檔案的語法或規則,並可以對特定的 XML 結構進行驗證。因為 XML 是一種嚴格的標記語言,所以如果有任何驗證或語法錯誤,剖析器將不會處理檔案。例如,如果以下任何條件為真,XML 剖析器將給出錯誤:

  • 缺少閉合標籤或結束標籤
  • 屬性值沒有引號
  • 結構條件尚未滿足

軟體應用程式使用 XML 剖析器將 XML 檔案轉換為本地資料類型。因此,他們可以專注於應用程式邏輯,而不必進入 XML 本身的細節。

 

XML 與 HTML 有什麼不同?

超文字標記語言 (HTML) 是大多數網頁中使用的語言。Web 瀏覽器處理 HTML 文件並將其顯示為多媒體頁面。World Wide Web Consortium (W3C) 是是製定協定和指導方針以確保網路長期發展的國際組織。W3C 建立了 HTML 和可擴展標記語言 (XML) 標準,網站開發人員為了一致性和質量而實作這些標準。

XML 與HTML

雖然 HTML 和 XML 檔案看起來非常相似,但存在一些主要差異。

目的

HTML 的目的是呈現和顯示資料。但是,XML 儲存和傳輸資料。

標籤

HTML 具有預先定義的標籤,但使用者可以在 XML 中建立和定義自己的標籤。

語法規則

HTML 和 XML 語法之間存在一些細微但重要的差異。例如,XML 區分大小寫,但 HTML 不區分大小寫。如果您編寫了一個 <Book> 標籤而非 <book>,XML 剖析器會給出錯誤。

AWS 服務如何支援 XML?

所有 AWS 資料整合服務都可以處理可擴展標記語言 (XML) 檔案。我們在下面列出了一些範例。

AWS Glue 是一種無伺服器資料整合服務,您可使用它來探索、準備和合併資料,用於分析、機器學習及應用程式開發。AWS Glue DataBrew 是一種視覺化資料準備工具,您可以使用此工具透過互動式的點按式視覺化界面來準備資料,而無需編寫程式碼。DataBrew 可以輸入所有類型的檔案格式,包括 XML。

Amazon Simple Queue Service (SQS) 是全受管訊息佇列服務,可用來在任何磁碟區的軟體元件之間傳送、儲存和接收訊息。Amazon SQS 訊息可包含最多 256 KB 的文字資料,包括 XML、JSON 和無格式文字。

Amazon Kinesis 可輕鬆地收集、處理和分析即時串流資料,讓您及時取得深入的見解並快速地對新資訊做出反應。借助 Kinesis 的關鍵功能,您可以以符合成本效益的方式處理任何規模的串流資料。您還可以靈活選擇適合您應用程式需求的工具。使用 Kinesis 可即時串流、轉換及分析 XML 資料

立即建立 AWS 帳戶,開始使用資料整合。

與 AWS 搭配使用的後續步驟

查看額外的產品相關資源
進一步了解分析服務 
註冊免費帳戶

立即存取 AWS 免費方案。 

註冊 
開始在主控台進行建置

開始在 AWS 管理主控台使用 AWS 進行建置。

登入