什麼是 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> 是根元素;family 和 aunt 是其他元素名稱。
XML 屬性
XML 元素可以有稱為屬性的其他描述元。您可以定義自己的屬性名稱,並在引號中寫入屬性值,如下所示。
<person age=“22”>
XML 內容
XML 檔案中的資料也稱為 XML 內容。例如,在 XML 檔案中,您可能會看到類似以下資料。
<friend>
<name>Charlie</name>
<name>Steve</name>
</friend>
資料值 Charlie 和 Steve 是內容。
什麼是 XML 結構?
可擴展標記語言 (XML) 結構是描述 XML 檔案結構的某些規則或限制的文件。您可以用幾種不同的方式描述這些限制,如下所示:
- 用於確定元素順序的語法規則
- 內容必須滿足的「是」或「否」條件
- XML 檔案內容的資料類型
- 資料完整性的限制
例如,書店的 XML 結構可能會強加如下限制:
- book 元素將具有 title 和 author 屬性。
- book 元素將嵌套在具有屬性名的 category 元素下。
- 書的價格是嵌套在 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 帳戶,開始使用資料整合。