Sign in with Microsoft
Sign in or create an account.
Hello,
Select a different account.
You have multiple accounts
Choose the account you want to sign in with.

您可能曾聽過 (XML) 的可擴展標記語言,而且您可能已經聽到許多貴組織應該使用它的原因。 但是 XML 到底是什麼呢? 本文將說明 XML 的基本概念,也就是其功能及運作方式。

本文內容

簡要了解標記、標記和標籤

若要瞭解 XML,可以協助您了解標記數據的概念。 人員 建立檔長達數十年,而且只要已標記這些檔即可。 例如,學校教師會隨時標記學生論文。 他們會告訴學生移動段落、釐清句子、修正拼字錯誤等等。 標記檔是我們如何定義檔中信息的結構、意義和視覺外觀。 如果您曾經在 Microsoft Office Word 中使用過 「追蹤修訂」功能,您已使用計算機化的標記形式。

在運算中,「標記」也已經進化成「標記」。 標記是使用稱為標籤 (或有時候是令牌的程式,) 來定義結構、視覺外觀,以及在 XML 的情況下,定義任何數據的意義。

本文的 HTML 程式代碼是使用計算機標記的一個好範例。 如果您在 Microsoft Internet Explorer 中瀏覽 (,請以滑鼠右鍵按下頁面,然後按兩下 [ 檢視來源) ],您會看到可讀取的文字和超文本標記語言 (HTML) 標籤,例如 <p><h2>。 HTML 和 XML 檔中的標籤很容易辨識,因為它們周圍有角括號。 在本文的原始程式碼中,HTML 標記會執行各種不同的工作,例如定義每個段落的開頭和結尾 (<p> ... </p>) 並標示每個影像的位置。

那麼 XML 是什麼?

HTML 和 XML 檔包含包含標籤的數據,但這是兩種語言之間的相似處。 在 HTML 中,標籤會定義數據的外觀與風格,標題會移至此處,段落從這裡開始,依此類操作。 在 XML 中,標籤會定義數據的結構和意義,也就是數據。

當您描述數據的結構和意義時,可以利用多種方式重複使用該數據。 例如,如果您有銷售數據區塊,且區塊中的每個專案都清楚識別出來,您可以只將所需的專案載入到銷售報表中,並將其他專案載入會計資料庫。 另一個方法是,您可以使用一個系統來產生數據,並使用 XML 標籤加以標記,然後無論硬體平臺或操作系統為何,都可以在任何其他系統中處理該數據。 這種可移植性是為什麼 XML 成為交換數據最常用的技術之一。

在進行動作時,請記得以下幾點:

  • 您無法使用 HTML 取代 XML。 不過,您可以將 XML 數據以 HTML 標籤括住,並顯示在網頁中。

  • HTML 僅限於所有使用者共用的預先定義標籤。

  • XML 可讓您建立描述數據及該數據結構所需的任何標籤。 例如,假設您需要儲存及分享寵物的相關信息。 您可以建立下列 XML 代碼:

    <?xml version="1.0"?>
    <CAT>
      <NAME>Izzy</NAME>
      <BREED>Siamese</BREED>
      <AGE>6</AGE>
      <ALTERED>yes</ALTERED>
      <DECLAWED>no</DECLAWED>
      <LICENSE>Izz138bod</LICENSE>
      <OWNER>Colin Wilcox</OWNER>
    </CAT>
    

您可以看到 XML 標籤能夠確切知道您正在檢視的數據類型。 例如,您知道這是關於貓的數據,而且可以輕鬆找到貓的名稱、年齡等。 建立幾乎任何數據結構的標籤功能,都是讓 XML「可擴展」的原因。

但請勿將該程式代碼範例中的標籤與 HTML 檔案中的標籤混淆。 例如,如果您將該 XML 結構貼到 HTML 檔案,然後在瀏覽器中檢視檔案,結果看起來會像這樣:

Izzy Siamese 6 yes no Izz138bod Colin Wilcox

瀏覽器會忽略您的 XML 標籤,只顯示資料。

關於已形成數據的字

您可能會聽到 IT 部門有人提及「已形成完善」XML。 形成完善的 XML 檔案符合一組非常嚴格的 XML 規則。 如果檔案不符合這些規則,XML 會停止運作。 例如,在上一個程式代碼範例中,每個開啟的標籤都有結語標籤,因此樣本會遵守其中一個規則以正確地形成。 如果您移除標籤,並嘗試在其中一個 Office 程式中開啟該檔案,您會看到錯誤訊息,且程式會阻止您使用該檔案。

雖然建立形成完善的 XML (規則很容易瞭解) ,但您必須記住,只有在數據形成完善的情況下,才能在程式和系統之間共用 XML 數據。 如果您無法開啟 XML 檔案,可能是該檔案未形成良好形式。

XML 也是平台獨立的程式,這表示任何專為使用 XML 而建置的程式都可以讀取和處理您的 XML 數據,無論硬體或操作系統為何。 例如,使用正確的 XML 標籤時,您可以使用桌面程式來開啟和使用來自主機電腦的數據。 而且,無論誰建立 XML 數據的內文,您都可以在多個 Office 程式中使用相同的數據。 由於 XML 非常方便攜帶,因此已成為資料庫與使用者桌面之間交換數據最常用的技術之一。

以其他程式使用 XML

除了已標記、形成完善的數據之外,XML 系統通常還會使用另外兩個元件:架構和轉換。 下列各節說明這些額外元件的運作方式。

快速查看架構

不要讓「架構」一詞對您有威脅。 架構只是一個 XML 檔案,其中包含可及不能存放在 XML 數據檔中的規則。 架構檔案通常會使用 .xsd 擴展名,而 XML 數據檔則使用 .xml 擴展名。

架構可讓程式驗證數據。 它們提供架構數據的架構,並確保它對建立者和任何其他使用者而言是有意義的。 例如,如果使用者輸入無效的數據,例如日期欄位中的文字,程式可以提示使用者輸入正確的數據。 只要 XML 檔案中的數據符合指定架構中的規則,任何支援 XML 的程式都可以使用該架構來讀取、解譯及處理數據。 例如,如下圖所示,Excel 可以針對 CAT 架構驗證 <CAT> 數據。

結構描述可讓應用程式共用 XML 資料。

架構可能會變得很複雜,而教導您如何建立架構則超出本文的範圍。 (此外,您可能有一個 IT 部門知道做法。) 不過,瞭解架構的外觀會很有説明。 下列架構定義了 <CAT> ... </CAT> 標籤的規則。

<xsd:element name="CAT">  
  <xsd:complexType>  
    <xsd:sequence>
      <xsd:element name="NAME" type="xsd:string"/>
      <xsd:element name="BREED" type="xsd:string"/>
      <xsd:element name="AGE" type="xsd:positiveInteger"/>
      <xsd:element name="ALTERED" type="xsd:boolean"/>
      <xsd:element name="DECLAWED" type="xsd:boolean"/>
      <xsd:element name="LICENSE" type="xsd:string"/>
      <xsd:element name="OWNER" type="xsd:string"/>        
    </xsd:sequence>
  </xsd:complexType>
</xsd:element>

不用擔心瞭解樣本中的所有內容。 請記住這些事項:

  • 範例架構中的明細項目稱為宣告。 如果您需要動物的其他相關信息,例如動物的色彩或標記,很可能您的IT部門會在架構中新增宣告。 您可以隨著業務需求的演進而變更您的 XML 系統。

  • 宣告為數據結構提供了極大的控制權。 例如, <xsd:sequence> 宣告表示標籤,例如 <NAME><BREED> ,必須依照上面列出的順序出現。 宣告也可以控制使用者可以輸入的數據類型。 例如,上述架構針對貓的年齡需要正數,而 Boolean (TRUE 或 FALSE) VALUES 才能使用 ALTERED 和 DECLAWED 卷標。

  • 當 XML 檔案中的數據符合架構提供的規則時,該數據即表示有效。 針對架構檢查 XML 數據檔的程式,在邏輯上稱為 () 驗證。 使用架構的一大優點是它們可以協助防止數據損毀。 它們也可讓您輕鬆找到損毀的數據,因為 XML 在遇到問題時會停止。

快速查看轉換

如先前所述,XML 也提供強大的數據使用方式或重複使用數據。 重複使用數據的機制稱為可擴展樣式表語言轉換 (XSLT) ,或簡稱為轉換。

您 (確定,您的IT部門) 也可以使用轉換來交換後端系統之間的數據,例如資料庫。 例如,假設資料庫 A 將銷售資料儲存在適用於銷售部門的數據表結構中。 資料庫 B 會將營收和支出數據儲存在專為會計部門量身打造的數據表結構中。 資料庫 B 可以使用轉換來接受 A 的數據,並將該數據寫入正確的數據表。

數據檔、架構和轉換的組合構成基本的 XML 系統。 下圖顯示這類系統通常如何運作。 數據文件會根據架構進行驗證,然後透過轉換以任何方式呈現。 在此情況下,轉換會將數據部署到網頁中的表格。

具備結構描述和轉換的基本 XML 檔案結構。

下列程式代碼範例顯示撰寫轉換的一種方法。 它會將 <CAT> 數據載入網頁上的表格。 同樣地,範例的重點不是要告訴您如何撰寫轉換,而是要顯示一種可進行轉換的窗體。

<?xml version="1.0"?>
<xsl:stylesheet version="1.0"> 
<TABLE>
  <TR>
    <TH>Name</TH>
    <TH>Breed</TH>
    <TH>Age</TH>
    <TH>Altered</TH>
    <TH>Declawed</TH>    
    <TH>License</TH>
    <TH>Owner</TH>
  </TR>
  <xsl:for-each select="CAT">
  <TR ALIGN="LEFT" VALIGN="TOP">
    <TD>
      <xsl:value-of select="NAME"/>
    </TD>
    <TD>
      <xsl:value-of select="BREED"/>
    </TD>
    <TD>
      <xsl:value-of select="AGE"/>
    </TD>
    <TD>
      <xsl:value-of select="ALTERED"/>
    </TD>
    <TD>
      <xsl:value-of select="DECLAWED"/>
    </TD>
    <TD>
      <xsl:value-of select="LICENSE"/>
    </TD>
    <TD>
      <xsl:value-of select="OWNER"/>
    </TD>
  </TR>
</xsl:for-each>
</TABLE>

此範例顯示一種類型的轉換在編碼時的外觀,但請記住,您可以只用純英文描述數據的所需內容。 例如,您可以移至您的IT部門,假設您需要列印過去兩年特定地區的銷售數據,「我需要用這種方式來查看」。 然後您的 IT 部門就可以撰寫 (或變更) 轉換來執行該工作。

讓這一切更方便的是,Microsoft 和其他越來越多廠商正在為各種工作建立轉換。 未來您或許可以下載符合您需求的轉換,或是配合您的用途進行調整。 這表示 XML 在經過一段時間後使用的成本會比較低。

Microsoft Office System 中的 XML 預覽

Office 專業版提供廣泛的 XML 支援。 自 2007 Microsoft Office system 起,Microsoft Office 開始採用 XML 檔案格式,例如 .docx、.xlsx 和 .pptx。 由於 XML 會以文字格式而非專利二進位格式儲存數據,因此您的客戶可以定義自己的架構,並以更多方式使用您的數據,完全不需要支付稅金。 如需新格式的詳細資訊,請參閱 Open XML 格式和擴展名。 其他優點包括:

  • 檔案大小較小。 新格式使用 ZIP 和其他壓縮技術,比起舊版 Office 中使用的二進位格式,將檔案大小減少 75%。

  • 更輕鬆地復原資訊並提高安全性。 XML 是人類可讀取的檔案,因此如果檔案損毀,您可以在 Microsoft 記事本或其他文字閱讀程式中開啟檔案,並至少復原部分資訊。 此外,新檔案會更加安全,因為它們無法包含 Visual Basic for Applications (VBA) 程式代碼。 如果您使用新格式來建立範本,任何 ActiveX 控件和 VBA 宏都會位於檔案中另一個更安全的區段中。 此外,您可以使用工具,例如文件檢查,來移除任何個人資料。 如需使用文件檢查的詳細資訊,請參閱 透過檢查檔來移除隱藏資料及個人資訊一文。

到目前為止還不錯,但如果您的 XML 數據沒有架構呢? 支援 XML 的 Office 程式有自己的方法,可協助您處理數據。 例如,如果您開啟的 XML 檔案還沒有 XML 檔案,Excel 會推斷架構。 Excel 接著提供您將此資料載入 XML 表格的選項。 您可以使用 XML 清單和表格來排序、篩選或新增計算至數據。

在 Office 中啟用 XML 工具

[開發人員] 索引標籤預設不會顯示,但是當您想要在 Office 中使用 XML 命令時,您必須將它新增至功能區。

Need more help?

Want more options?

探索訂閱權益、瀏覽訓練課程、瞭解如何保護您的裝置等等。

社群可協助您詢問並回答問題、提供意見反應,以及聆聽來自具有豐富知識的專家意見。

Was this information helpful?

How satisfied are you with the translation quality?
What affected your experience?
By pressing submit, your feedback will be used to improve Microsoft products and services. Your IT admin will be able to collect this data. Privacy Statement.

Thank you for your feedback!

×