首頁  >  文章  >  後端開發  >  詳細介紹XML程式碼編寫的編碼與驗證問題

詳細介紹XML程式碼編寫的編碼與驗證問題

黄舟
黄舟原創
2017-03-10 19:35:501449瀏覽

這篇文章主要介紹了XML程式碼所寫的編碼與驗證問題,與HTML類似,XML檔案的編碼也能在序言部分被指定,需要的朋友可以參考下

編碼

編碼就是轉換Unicode 字元為等價二進位表示的過程。 XML 處理程序讀取一個 XML 文件時,它依賴編碼類型來編碼文件。因此,我們需要在 XML 聲明中指定編碼類型。

編碼類型
主要有兩種類型的編碼:

UTF-8
UTF-16
UTF 表示UCS 轉換格式,而UCS 本身的意義是通用字符集。編號 8 或 16 表示呈現字元的位元數。它們是 8(一個位元組)或 16(兩個位元組)。對於沒有編碼資訊的文檔,預設使用 UTF-8。

語法
編碼資訊包含在 XML 文件的序言部分。 UTF-8 編碼的語法如下:

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

UTF-16 編碼語法如下:

<?xml version="1.0" encoding="UTF-16" standalone="no" ?>

範例

#下面的範例展示了編碼宣告:

<?xml version="1.0" encoding="UTF-8" standalone="no" ?>  
  
    Tanmay Patil  
    TutorialsPoint  
    (011) 123-4567  

在上面的encoding="UTF-8" 範例中,指定使用8 位元表示字元。要使用 16 為表示字符,可以使用 UTF-16 編碼。

使用 UTF-8 編碼的 XML 檔案尺寸比 UTF-16 格式的檔案更小。

驗證

驗證 是對 XML 文件進行驗證的過程。如果文檔內容與元素,屬性和關聯的文檔類型定義(DTD)匹配,以及文檔符合b表達的約束則該文檔被認為是有效的。透過 XML 解析器處理驗證的方式有兩種。分別是:

格式良好的 XML 文件
有效的 XML 文件
格式良好的 XML 文件
如果 XML 文件遵守以下規則則被認為是格式良好的。

沒有 DTD 的 XML 文件必須使用預先定義的字元實體處理 amp(&),apos(單引號),g(>),quot(雙引號)。
必須遵循標籤的順序,例如內部標籤必須在外部標籤閉合之前閉合。
每個開始標籤必須都有一個結束標籤或必須是自閉合標籤(b2386ffb911b14667cb8f0f91ea547a7...6e916e0f7d1e588d4f442bf645aedb2f 或 d4bce3f20dbe5ab08417432e520da517)。
在開始標籤中必須只能有一個屬性,並且需要使用引號包裹。
除了amp(&),apos(單引號),g(>),quot(雙引號)實體之外其他的必須先聲明再使用。
範例

下面是一個格式良好的XML 文件範例:

<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>  
<!DOCTYPE address   
[   
<!ELEMENT address (name,company,phone)>  
    <!ELEMENT name (#PCDATA)>  
    <!ELEMENT company (#PCDATA)>  
    <!ELEMENT phone (#PCDATA)>  
]>  
<address>  
    <name>Tanmay Patil</name>  
    <company>TutorialsPoint</company>  
    <phone>(011) 123-4567</phone>  
</address>

上面的範例被認為是格式良好的,因為:

它定義了文檔類型。並且這裡文檔類型是元素類型。
包含一個名為 address 的根元素。
每個子元素 name,company 和 phone 都是一個自解釋正確閉合的標籤。
標籤的順序正確。

以上是詳細介紹XML程式碼編寫的編碼與驗證問題的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn