如何處理空白字元?
有些時候,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 了。其他字元是保留...