您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關XML原理的示例分析,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
實例:
<?xml version="1.0" encoding="utf-8"?> <note> <to>George</to> <from>John</from> <heading>Reminder</heading> <body>Don't forget the meeting!</body> </note>
實例解釋:
第一行是 XML 聲明。它定義 XML 的版本 (1.0) 和所使用的編碼 (ISO-8859-1 = Latin-1/西歐字符集)。
描述文檔的根元素
<note>//根元素的開始 ** </note> //根元素的結尾
4個子元素
<to>George</to> <from>John</from> <heading>Reminder</heading> <body>Don't forget the meeting!</body>
就這樣XML文檔會形成一種樹結構,如下:
<?xml version="1.0" encoding="utf-8"?> <note> <to>George</to> <from>John</from> <heading>Reminder</heading> <body> <A>George</A> <B>John</B> <C>Reminder</C> </body> </note>
所有 XML 元素都須有關閉標簽
<p>This is a paragraph //錯 <p>This is a paragraph</p> //對
XML 標簽對大小寫敏感
<Message>這是錯誤的。</message> //錯 <message>這是正確的。</message> //對
XML 必須正確地嵌套
<b><i>This text is bold and italic</b></i> //錯 <b><i>This text is bold and italic</i></b> //對
XML 的屬性值須加引號
<note date=08/08/2008> //錯 <to>George</to> <from>John</from> </note> <note date="08/08/2008"> //對 <to>George</to> <from>John</from> </note>
實體引用:就是特殊字符的轉意。
< < 小于
> > 大于
& & 和號
' ' 單引號
" " 引號
<message>if salary < 1000 then</message>
想要的:
<message>if salary < 1000 then</message>
XML 中的注釋
<!-- This is a comment -->
在 XML 中,空格會被保留
HTML 會把多個連續的空格字符裁減(合并)為一個:
HTML:Hello my name is David. 輸出:Hello my name is David.
在 XML 中,文檔中的空格不會被刪節。
XML 元素
開始標簽直到(且包括)結束標簽的部分。如:
<from>John</from>
元素可包含其他元素、文本或者兩者的混合物。元素也可以擁有屬性。如:
<book category="CHILDREN"> //category(屬性) <title>Harry Potter</title> //book的子元素,這個子元素只有文本內容 <author>J K. Rowling</author> <year>2005</year> <price>29.99</price> </book>
XML 命名規則
XML 元素必須遵循以下命名規則:
名稱可以含字母、數字以及其他的字符
名稱不能以數字或者標點符號開始
名稱不能以字符 “xml”(或者 XML、Xml)開始
名稱不能包含空格
XML 元素 vs. 屬性
<person sex="female"> //屬性 <firstname>Anna</firstname> <lastname>Smith</lastname> </person> <person> <sex>female</sex> //元素 <firstname>Anna</firstname> <lastname>Smith</lastname> </person>
沒有什么規矩可以告訴我們什么時候該使用屬性,而什么時候該使用子元素,在 XML 中,
您應該盡量避免使用屬性。如果信息感覺起來很像數據,那么請使用子元素吧。
屬性無法包含多重的值(元素可以)
屬性無法描述樹結構(元素可以)
屬性不易擴展(為未來的變化)
屬性難以閱讀和維護
XML 命名空間(XML Namespaces)
XML 命名空間提供避免元素命名沖突的方法。
這個 XML 文檔攜帶著某個表格中的信息:
<table> <tr> <td>Apples</td> <td>Bananas</td> </tr> </table>
這個 XML 文檔攜帶有關桌子的信息(一件家具):
<table> <name>African Coffee Table</name> <width>80</width> <length>120</length> </table>
由于兩個文檔都包含帶有不同內容和定義的 <table> 元素,就會發生命名沖突。
使用前綴來避免命名沖突
<h:table> <h:tr> <h:td>Apples</h:td> <h:td>Bananas</h:td> </h:tr> </h:table> <f:table> <f:name>African Coffee Table</f:name> <f:width>80</f:width> <f:length>120</f:length> </f:table>
使用命名空間(Namespaces)
<h:table xmlns:h="http://www.w3.org/TR/html4/"> <h:tr> <h:td>Apples</h:td> <h:td>Bananas</h:td> </h:tr> </h:table>
此 XML 文檔攜帶著有關一件家具的信息:
<f:table xmlns:f="http://www.w3school.com.cn/furniture"> <f:name>African Coffee Table</f:name> <f:width>80</f:width> <f:length>120</f:length> </f:table>
默認的命名空間(Default Namespaces)
為元素定義默認的命名空間可以讓我們省去在所有的子元素中使用前綴的工作。
<table xmlns="http://www.w3.org/TR/html4/"> <tr> <td>Apples</td> <td>Bananas</td> </tr> </table>
此 XML 文檔攜帶著有關一件家具的信息:
<table xmlns="http://www.w3school.com.cn/furniture"> <name>African Coffee Table</name> <width>80</width> <length>120</length> </table>
命名空間是就近原則的
<?xml version="1.0" encoding="utf-8"?> <root xmlns="dotnet" xmlns:w="wpf"> <!-- xmlns: dotnet --> <a>data in a</a> //默認的命名空間 <!-- xmlns: dotnet --> <w:b>data in b</w:b> //w命名空間 <!-- xmlns: wpf --> <c xmlns="silverlight"> <!-- xmlns: silverlight --> <w:d> <!-- xmlns: wpf --> <e>data in e</e> <!-- xmlns: silverlight --> //就近原則 </w:d> </c> </root>
CDATA
術語 CDATA 指的是不應由 XML 解析器進行解析的文本數據(Unparsed Character Data)。(就是里面的數據不進行XML解析)
CDATA 部分由 "<![CDATA[" 開始,由 "]]>" 結束:
<script> <![CDATA[ //開始 function matchwo(a,b) { if (a < b && a < 0) then { return 1; } else { return 0; } } ]]> //結束 </script>
關于“XML原理的示例分析”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。