XML入門常見問題 4

2021-04-17 08:48:13 字數 1402 閱讀 5107

如何處理空白字元?

有些時候,xml 物件模型將顯示包含空白字元的 text 節點。空白字元被截斷後,多半會帶來一些混亂。例如下面的 xml 例子:

]>

**ith

john

生成下列樹:

processing instruction: xml

doctype: person

element: person

text:

element: lastname

text:

element: firstname

text: 

名字和姓氏兩邊是只包含空白字元的 text 節點,因為「person」元素的內容模型是 mixed;它包含 #pcdata 關鍵字。mixed 內容模型指定元素之間可以有文字存在。因此,下面的內容也是正確的:

my last name is **ith and my first name is

john

結果是類似於下面的樹:

element: person

text: my last name is

element: lastname

text: and my first name is

element: firstname

text: 

如果沒有單詞「is」之後和 之前的空白字元,以及 之後和單詞「and」之前的空白字元,那麼句子便無法理解。因此,對於 mixed 內容模型來說,文字組合、空白字元和元素都是相關的。對於非 mixed 內容模型來說則不是這樣。

要使只有空白字元的 text 節點消失,請從「person」元素宣告中刪除 #pcdata 關鍵字:

結果是下面清晰的樹:

processing instruction: xml

doctype: person

element: person

element: lastname

element: firstname

xml 宣告做什麼?

xml 宣告必須列在 xml 文件的頂部:

它指定下面的專案:

該文件是 xml 文件。在丟失或者還沒有指定 mime 型別時 mime 探測器可以用它來檢測檔案是否為型別 text/xml。

文件符合 xml 1.0 規範。在以後 xml 有其他版本時這一點很重要。

文件字元編碼。編碼屬性是可選的,預設為 utf-8。

注意:xml 宣告必須在 xml 文件的第一行,因此下面的 xml 檔案:

產生下面的分析錯誤:

無效的 xml 宣告。

行 0000002: 

位置 0000007: ------^

注意:xml 宣告是可選的。如果需要在頂部指定注釋或者處理指令,那麼請不要放入 xml 宣告。但是,預設的編碼將為 utf-8。

XML入門常見問題 4

如何處理空白字元?有些時候,xml 物件模型將顯示包含空白字元的 text 節點。空白字元被截斷後,多半會帶來一些混亂。例如下面的 xml 例子 ith john 生成下列樹 processing instruction xml doctype person element person text ...

XML入門常見問題 1

一般問題 什麼是 xml?可擴充套件標記語言 xml 是 web 上的資料通用語言。它使開發人員能夠將結構化資料,從許多不同的應用程式傳遞到桌面,進行本地計算和演示。xml 允許為特定應用程式建立唯一的資料格式。它還是在伺服器之間傳輸結構化資料的理想格式。什麼是 msxml?msxml 是提供核心 ...

XML入門常見問題 3

如何載入有外國和特殊字元的文件?文件可以包含外國字元,例如 foreign characters 例如 磲 的外國字元必須在前面加上 escape 序列。外國字元可以是 utf 8 編碼或用不同編碼指定,如下所示 foreign characters 磲 現在可以正確載入 xml 了。其他字元是保留...