XML基礎講解之結構與語法
[導讀] 現在我們暫且使用記事本來建立我們的xml檔吧。先看一個XML檔: 例1 〈?xml version="1 0" encoding="gb2312" ?〉 〈參考資料〉 〈書〉 〈#〉XML入門資料〉 〈書籍〉## 我們解題、現在說明、入門、入門、入門名稱 入門」「「」」名稱」、「現在」。使用「記事本」來建立我們的xml檔吧。先看一個XML檔:
例1
#
〈?xml version="1.0" encoding="gb2312" ?〉 〈参考资料〉 〈书籍〉 〈名称〉XML入门精解〈/名称〉 〈作者〉张三〈/作者〉 〈价格 货币单位="人民币"〉20.00〈/价格〉 〈/书籍〉 〈书籍〉 〈名称〉XML语法〈/名称〉 〈!--此书即将出版--〉 〈作者〉李四〈/作者〉 〈价格 货币单位="人民币"〉18.00〈/价格〉 〈/书籍〉 〈/参考资料〉
這是一個典型的XML文件,編輯好後保存為一個以.xml為後綴的文件。我們可以將此文件分為文件序言(PRolog)和文件主體兩個大的部分。在此文件中的第一行即是文件序言。該行是XML檔案必須聲明的東西,而且也必須位於XML檔案的第一行,它主要是告訴XML解析器如何運作。其中,version是標明此XML檔案所用的標準的版本號,必須要有;encoding指明了此XML檔案中所使用的字元類型,可以省略,在你省略此聲明的時候,後面的字元碼必須是Unicode字元碼(建議不要省略)。因為我們在這個例子中使用的是GB2312字元碼,所以encoding這個聲明也不能省略。在文件序言部分還有一些聲明語句,我們在後面給予介紹。
文件的其餘部分都是屬於文件主體,XML文件的內容資訊存放在此。我們可以看到,文件主體是由開始的〈參考資料〉和結束的〈/參考資料”控制標記所組成,這個稱為XML文件的「根元素」;〈書〉是作為直屬於根元素下的“子元素」;在〈書本〉下又有〈名稱〉、〈作者〉、〈價格〉這些子元素。貨幣單位是〈價格〉元素中的一個“屬性”,而“人民幣”則是“屬性值”。
〈!--此書即將出版--〉這一句同HTML一樣,是註釋,在XML文件裡,註釋部分是放在「〈!--〉與「--〉」標記之間的部分。
大家可以看到,XML檔案是相當簡單的。就像HTML一樣,XML檔案也是由一系列的標記組成,不過,XML檔案中的標記是我們自訂的標記,具有明確的意義,我們可以對標記中的內容的含義作出說明。
對XML檔案有了初步的印象之後,我們就來詳細地談一談XML檔案的語法。在講語法之前,我們必須要了解一個重要的概念,就是XML解析器(XML Parse)。
1.XML解析器
解析器的主要功能就是檢查XML檔案是否有結構上的錯誤,剝離XML檔案中的標記,讀出正確的內容,以交給下一步的應用程式處理。 XML是一種用來結構化檔案資訊的標記語言,XML規格中對於如何標記檔案的結構性有一個詳細的法則,解析器就是根據這些法則寫成的軟體(多用java寫成)。就像HTML一樣,在瀏覽器中,必須有HTML的解析器,這樣瀏覽器才能夠「讀懂」各種用HTML標記所組成的網頁,將它們顯示在我們面前。如果有瀏覽器的HTML解析器讀不懂的標記,將會回傳給我們錯誤訊息。
由於現在的HTML標記實際上相當混亂,存在大量不規範的標記(有的網頁用IE能正常顯示,而用Netscape Navigator則不行),所以從一開始,XML的設計者就嚴格規定了XML的語法和結構,我們寫的XML檔案必須遵循這些規定,否則XML解析器將毫不留情地給你顯示錯誤訊息。
有兩種XML文件,一種是Well-Formed XML文件,一種是Validating XML檔。
如果一個XML檔案符合XML規範中的某些相關法則,且沒有使用DTD(檔案格式定義-後詳述)時,可稱這份文件為Well-Formed。而如果一個XML檔是Well-Formed,且正確地使用了DTD,DTD中的語法又是正確的,那麼這個檔就是Validating。對應兩種XML文件,有兩種XML解析器,一種是Well-Formed 解析器,一種是Validating解析器。 IE 5中就內含Validating解析器,Validating解析器也可用來解析Well-Formed XML檔。
檢查它是否滿足了Well-Formed的條件。我們可以將剛才編輯的第一個XML 檔案用IE 5以上版本的瀏覽器開啟。
大家可能要問為什麼在瀏覽器中的顯示和我的來源檔案一樣?沒錯,因為對於XML文件,我們黿齬匭乃 的內容,而它的顯示形式是交給CSS或XSL來完成的。這裡,我們並沒有給這個XML文件定義它的CSS或XSL文件,所以它按照原來的形式來顯示。實際上,對於電子資料交換,僅僅需要一個XML檔案即可,如果要將它以某種形式顯示出來,我們就必須編輯CSS或XSL檔案(這個問題會在以後討論)。
2.Well-Formed的XML檔案
我們知道,XML必須是Well-Formed的,才能夠被解析器正確地解析出來,顯示在瀏覽器中。那什麼是Well-Formed的XML檔呢?主要有下面幾個準則,我們在建立XML檔案的時候,必須滿足它們。
首先,XML檔案的第一行必須是宣告該檔案是XML檔案以及它所使用的XML規格版本。在文件的前面不能夠有其它元素或註釋。
第二,在XML檔案中有且只能夠有一個根元素。在我們的第一個例子中,〈參考資料〉... 〈/參考資料”就是此XML檔的根元素。
第三,在XML檔案中的標記必須正確地關閉,也就是說,在XML檔案中,控制標記必 須有與之對應的結束標記。如:〈名稱〉標記必須有對應的〈/名稱〉結束標記,不像HTML,某些標記的結束標記可有可無。如果在XML檔案中遇到自成一個單元的標記,就是類似於HTML 中的〈img src=.....〉的這些沒有結束標記的時候,XML稱它為“空元素”,必須用這樣的寫法:〈空元素名/〉,若元素中含有屬性時寫法則為:〈空元素名屬性名=「屬性值」/〉。
第四,標記之間不得交叉。在先前的HTML檔中,可以這樣寫:
〈B〉〈H〉XXXXXXX〈/B〉〈/H〉,〈B〉和〈H〉
標記之間有相互重疊的區域,而在XML中,是嚴格禁止這樣標記交錯的寫法,標記必須以規則性的次序來出現。
第五,屬性值必須用「 」號括起來。如第一個例子中的「1.0」、「gb2312」、「人民幣」。都是用「 」號括起來了的,不能漏掉。
第六,控制標記、指令和屬性名稱等英文要區分大小寫。與HTML不同的是,在HTML中,類似〈B〉和〈b〉的標記意義是一樣的,而在XML中,類似〈name〉、〈NAME〉或〈Name〉這樣的標記是不同的。
第七,我們知道,在HTML檔案中,如果我們要瀏覽器原封不動地將我們所輸入的東西顯示出來,可以將這些東西放到〈pre〉〈/pre〉或〈 xmp〉〈/xmp〉標記中間。這對於我們建立HTML教學的網頁是必不可少的,因為網頁中要顯示HTML的原始碼。而在XML中,要實現這樣的功能,就必須使用CDATA標記。在CDATA標記中的信息被解析器原封不動地傳給應用程序,並且不解析該段資訊中的任何控制標記。 CDATA區域是由:「〈
熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

JWT是一種基於JSON的開放標準,用於在各方之間安全地傳輸信息,主要用於身份驗證和信息交換。 1.JWT由Header、Payload和Signature三部分組成。 2.JWT的工作原理包括生成JWT、驗證JWT和解析Payload三個步驟。 3.在PHP中使用JWT進行身份驗證時,可以生成和驗證JWT,並在高級用法中包含用戶角色和權限信息。 4.常見錯誤包括簽名驗證失敗、令牌過期和Payload過大,調試技巧包括使用調試工具和日誌記錄。 5.性能優化和最佳實踐包括使用合適的簽名算法、合理設置有效期、

字符串是由字符組成的序列,包括字母、數字和符號。本教程將學習如何使用不同的方法在PHP中計算給定字符串中元音的數量。英語中的元音是a、e、i、o、u,它們可以是大寫或小寫。 什麼是元音? 元音是代表特定語音的字母字符。英語中共有五個元音,包括大寫和小寫: a, e, i, o, u 示例 1 輸入:字符串 = "Tutorialspoint" 輸出:6 解釋 字符串 "Tutorialspoint" 中的元音是 u、o、i、a、o、i。總共有 6 個元

本教程演示瞭如何使用PHP有效地處理XML文檔。 XML(可擴展的標記語言)是一種用於人類可讀性和機器解析的多功能文本標記語言。它通常用於數據存儲

靜態綁定(static::)在PHP中實現晚期靜態綁定(LSB),允許在靜態上下文中引用調用類而非定義類。 1)解析過程在運行時進行,2)在繼承關係中向上查找調用類,3)可能帶來性能開銷。

PHP的魔法方法有哪些? PHP的魔法方法包括:1.\_\_construct,用於初始化對象;2.\_\_destruct,用於清理資源;3.\_\_call,處理不存在的方法調用;4.\_\_get,實現動態屬性訪問;5.\_\_set,實現動態屬性設置。這些方法在特定情況下自動調用,提升代碼的靈活性和效率。

DeepSeekAI工具使用指南及常見問題解答DeepSeek是一款功能強大的AI智能工具,本文將解答一些常見的使用問題,助您快速上手。常見問題解答:不同訪問方式的區別:網頁版、App版和API調用在功能上沒有區別,App只是網頁版的封裝。本地部署使用的是蒸餾模型,能力略遜於完整版DeepSeek-R1,但32位模型理論上擁有90%的完整版能力。酒館(SillyTavern)是什麼? SillyTavern是一個前端界面,需要通過API或Ollama調用AI模型。破限是什麼

PHP和Python各有優勢,選擇依據項目需求。 1.PHP適合web開發,尤其快速開發和維護網站。 2.Python適用於數據科學、機器學習和人工智能,語法簡潔,適合初學者。

PHP是一種廣泛應用於服務器端的腳本語言,特別適合web開發。 1.PHP可以嵌入HTML,處理HTTP請求和響應,支持多種數據庫。 2.PHP用於生成動態網頁內容,處理表單數據,訪問數據庫等,具有強大的社區支持和開源資源。 3.PHP是解釋型語言,執行過程包括詞法分析、語法分析、編譯和執行。 4.PHP可以與MySQL結合用於用戶註冊系統等高級應用。 5.調試PHP時,可使用error_reporting()和var_dump()等函數。 6.優化PHP代碼可通過緩存機制、優化數據庫查詢和使用內置函數。 7
