xml開始使用xml


備註

XML是一種標記語言,用於在文本文件中存儲分層數據。它也被稱為半結構化數據,如JSON。 XML是機器可讀的,但也可以由人們閱讀和製作。

XML由元素組成,有時隨便稱為標記湯 ,它本身可以包含其他元素和/或文本。元素也可能包含屬性。

XML通常用於平台之間的數據交換,尤其是在互聯網上。它還越來越多地用於在NoSQL數據存儲(XML數據庫/文檔存儲)中存儲半結構化數據。此外,它還可以靈活地處理面向文檔的數據(帶有標記的文本),這使得它在出版業中非常流行。 XML也廣泛用於配置文件。

XML如此廣泛使用的一個主要原因是它是標準化的,有許多解析器可用,包括開源。這使得使用XML的成本低於自己的新語法的發明。

有關XML的起源和目標的更多信息可以在官方的W3C建議書中找到。

有兩個版本的XML,如下表所示。每個版本的版本只是原始文檔的修訂版,而不是標準的更改。

XML的第一個版本是1.0 。由於Unicode版本從2.0更改為3.1,XML 1.1主要更改,並為新Unicode字符的使用和解釋指定了一組新規則。

版本

發布日期
1.0 1998年2月10日
1.1 2001年12月13日

你好,世界

<?xml version="1.0"?>
<?speech-generator voice="Siri"?>
<root xmlns:vocabulary="http://www.example.com/vocabulary">
  <!-- These are the standard greetings -->
  <vocabulary:greetings>
    <vocabulary:greeting xml:lang="en-US" type="informal">
      Hi!
    </vocabulary:greeting> 
    <vocabulary:greeting xml:lang="en-US" type="intermediate">
      Hello!
    </vocabulary:greeting> 
    <vocabulary:greeting xml:lang="en-US" type="formal">
      Good morning to <b>you</b>!
    </vocabulary:greeting> 
  </vocabulary:greetings>
</root>
 

安裝或設置

XML是一種語法,這意味著簡單的文本編輯器就足以開始了。

但是,使用特定於XML的編輯器可以顯示文檔格式不正確的時間和位置,這對於提高工作效率幾乎是不可或缺的。這些編輯器還可以允許您根據XML Schema驗證XML文檔,甚至可以從XML文檔生成XML Schema(反之亦然)。

編輯器的一些示例是oXygen,Atom,Eclipse和Altova XMLSpy。另一種解決方案是使用命令行XML解析器,例如Apache Xerces。

命名空間

元素和屬性名稱位於URI的名稱空間中。命名空間綁定到實際元素和屬性名稱中使用的前綴,稱為QNames。

此文檔將命名空間綁定到前綴prefix 並定義默認命名空間,綁定缺少前綴。

<?xml version="1.0"?>
<document
    xmlns="http://www.example.com/default-namespace"
    xmlns:prefix="http://www.example.com/another-namespace">
  <prefix:element/>
</document>
 

有關命名空間的更多詳細信息,請參閱本主題

基本構建塊

XML由基本構建塊組成,它們是:

  • 元件
  • 文本
  • 屬性
  • 評論
  • 處理說明

元素具有尖括號:

<element/>

<element>some content</element>
 

屬性出現在開始元素標記中:

<element
  attribute-name="attribute value"
  other-attribute='single-quoted value'>
  ...
</element>
 

文本可以出現在元素內或元素之間:

<element>some more <b>bold</b> text</element>
 

註釋使用以下語法。重要的是要知道,與編程語言不同,XML註釋是模型的一部分,並且對於解析器上方的應用程序是可見的。

<!-- this is a comment -->
 

處理指令允許將消息傳遞給消費應用程序(例如,如何顯示或樣式表等)。 XML不限制處理指令的格式。

<?target-application these are some instructions?>
 

有關構建塊的更多詳細信息,請參閱本主題

良構

XML文檔是符合XML規范良構規則的文本文件。據說這種符合要求的文件格式正確 (不要與有效文件混淆)。與其他語言(如HTML)相比,XML非常嚴格,格式良好。格式不正確的文本文件不被視為XML,根本不能使用應用程序。

以下是一些適用於XML文檔的規則:

  1. XML使用了很多自我描述的語法。 prolog定義XML版本和字符編碼:

    <?xml version="1.0" encoding="UTF-8"?>
     
  2. 必須只有一個頂級元素。

    但是,頂級也允許使用註釋,處理指令以及初始XML聲明。文本和屬性不是。

    <?xml version="1.0"?>
    <!-- some comments -->
    <?app a processing instruction?>
    <root/>
    <!-- some more comments -->
     
  3. 元素可以嵌套,但必須“正確嵌套”:

    <name>
      <first-name>John</first-name>
      <last-name>Doe</last-name>
    </name>
     

    嵌入元素的開始和結束標記必須位於其容器元素的開始和結束標記內。元素的重疊是非法的。特別是,這不是格式良好的XML: <foo><bar></foo></bar>

  4. 屬性可能只出現在開始元素標籤或空元素標籤中,而不是在關閉元素標籤中。如果屬性語法出現在元素之間,則它沒有意義並被解析為文本。

    <person first-name="John" last-name="Doe"/>
     

    這個格式不正確: <person></person first-name="John"/>

  5. 註釋,處理指令,文本和其他元素可以出現在元素內的任何位置(即,在其開始和結束標記之間),但不能出現在標記內。

    <element>
        This is some <b>bold</b> text.
        <!-- the b tag has no particular meaning in XML -->
    </element>
     

    此示例格式不正確: <element <-- comment --> />

  6. < 字符可能不會出現在文本或屬性值中。

  7. " 字符可能不會出現在引用的屬性值中"' 字符可能不會出現在引用' 屬性值中。

  8. 字符序列-- 可能不會出現在評論中。

  9. 文字<& 字符必須由它們各自的實體轉義&lt;&amp;