<p><br></p>
<h2>第一章 XML是什麼? XML的快速入門</h2>
<h3>1.什麼是XML? 首先讓我們來看一段程式碼</h3>
<p><strong>XML</strong>(可擴展標記語言)</p>
<pre class="brush:php;toolbar:false"><?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE class [
<!ELEMENT class ANY>
<!ELEMENT person (name,time,msg,data)>
<!ELEMENT name (#PCDATA)>
<!ELEMENT time (#PCDATA)>
<!ELEMENT msg (#PCDATA)>
<!ELEMENT data (#PCDATA)>
]>
<class>
<person>
<name>0x584A</name>
<time>2015年9月25日 10:24:41</time>
<msg>holle,world!</msg>
<!--这里是CDATA区间-->
<data><![CDATA[<XML的那些事...> -> 跟随0x584A、学习XML.. ]]></data>
</person>
</class></pre>
<p>讓我們來看看在瀏覽器運行後的具體展現效果:</p>
<p class="image-package"><img src="https://img.php.cn/upload/article/000/000/164/729e3f29ba6f560af48f387edc5ab46c-0.png" alt="XML的快速入門教學" ><br></p>
<p class="image-caption">1.png</p>
<h3>2.XML主要運用做什麼的? </h3>
<p>相信網齡久的同學都看過有文件後綴是<strong>.xml</strong>的,這便是我們所說的<strong>XML</strong>檔。 <br>最早在<strong>HTML</strong>流行起來之後,<strong><a href="http://www.php.cn/wiki/1550.html" target="_blank">W3C</a></strong>#組織嫌HTML語言的局限性,所以推出來XML,其目的是用於<strong>替換HTML語言</strong>。 </p>
<p>當然,現在看來W3C的計畫並沒有成功。 <code>(然並卵⊙﹏⊙)</code></p>
<p>雖然<strong>XML</strong>並沒有取代<strong>HTML</strong>,但它其獨特的特性,讓其延續至今。 </p>
<pre class="brush:php;toolbar:false">优点:
1. 高度自定义[标签]
2. 不同语言中的数据流通规范
3. XML是用来描述数据的。而在HTML中,数据是写在HTML标签中的。
4. XML设计是用来描述数据的:重点是什么是数据,怎么存放数据。而HTML则是用来显示数据:重点是怎么显示数据,及怎么更好的显示数据。</pre>
<p>一句話說明XML:<code>XML是跨平台,與軟、硬體無關的,處理資訊的工具(資料操作與資料傳輸的工具)</code></p>
<blockquote>
<p>額.. 來跟大家分享一個笑話:</p>
<p>問:我該什麼時候使用XML? </p>
<p>答案:你可以在你的履歷裡寫上你會XML..</p>
</blockquote>
<h3>#3.快速入門XML</h3>
<p>根據上面最開始的那段程式碼,讓我們來逐步分析下。 </p>
<pre class="brush:php;toolbar:false"><?xml version="1.0" encoding="UTF-8"?></pre>
<p>第一條則是先進行聲明,宣告這個XML版本為<strong>1.0</strong>,使用<strong>UTF-8</strong><a href="http://www.php.cn/code/225.html" target="_blank">字元集</a>對其識別。 </p>
<p>隨後的程式碼則是用來<a href="http://www.php.cn/wiki/1528.html" target="_blank">DTD</a><a href="http://www.php.cn/code/12132.html" target="_blank">約束</a>的。 </p>
<pre class="brush:php;toolbar:false"><!-- 内部 DOCTYPE 声明 定义文档是class类型文件 -->
<!DOCTYPE class [
<!-- 元素class 通过类别关键字ANY声明元素,可包含任何可解析的数据组合 -->
<!ELEMENT class ANY>
<!-- 定义person元素内有四个元素 注意:约束顺序也是节点顺序 -->
<!ELEMENT person (name,time,msg,data)>
<!-- 定义name元素 为#PCDATA类型 -->
<!ELEMENT name (#PCDATA)>
<!ELEMENT time (#PCDATA)>
<!ELEMENT msg (#PCDATA)>
<!ELEMENT data (#PCDATA)>
]></pre>
<p>那麼這時就有人問了:</p>
<p><strong>DTD是什麼呢? </strong></p>
<p>我們來看看W3C上的解釋:</p>
<blockquote><p><strong>文件類型定義(DTD)可定義合法的XML文件建置模組。它使用一系列合法的元素來定義文件的結構。 </strong></p></blockquote>
<p>額.. <code>(其實就是句屁話,說了和沒說一樣...)</code></p>
<p>好吧,不吐槽了。其實就是給我們所寫的XML元素、<a href="http://www.php.cn/wiki/169.html" target="_blank">屬性</a>等做了規定限制,所寫的結構必須遵循DTD約束。 </p>
<hr>
<p>讓我們來繼續看如下程式碼:</p>
<pre class="brush:php;toolbar:false"><class>
<person>
<name>0x584A</name>
<time>2015年9月25日 10:24:41</time>
<msg>holle,world!</msg>
<!--这里是CDATA区间-->
<data><![CDATA[<XML的那些事...> -> 跟随0x584A、学习XML.. ]]></data>
</person>
</class></pre>
<p>有沒有發現什麼? </p>
<p>是的,沒錯它就是個樹狀結構。讓我們看看DTD約束中,首先定義了根節點<strong>class</strong>,隨後又定義了<strong>person</strong>元素並在<br><strong>person</strong>元素內部存在四個元素<strong>name</strong>、<strong>time</strong>、<strong>msg</strong>、<strong>data</strong>。 </p>
<p>其中呢有一個奇怪的東西,我們稱之為<code>CDATA 區段</code>,只有在區間中的文字會被解析器忽略掉,所以它<a href="http://www.php.cn/php/php-tp-sameoutput.html" target="_blank">原樣輸出</a>了特殊的符號<code><</code>、<code>></code>等...</p>
<pre class="brush:php;toolbar:false">好了、至此关于XML的快速入门结束了,你学会了多少呢? 下一章让我们来学习XML的语法、元素及属性吧 o(∩_∩)o</pre>
<p> </p>#
以上是XML的快速入門教學的詳細內容。更多資訊請關注PHP中文網其他相關文章!