個(gè)人網(wǎng)站需要建站群?jiǎn)岬谌酵茝V平臺(tái)
第一章XML概述
1.1認(rèn)識(shí)XML
XML數(shù)據(jù)格式:
不是html但又和html有點(diǎn)相似
XML數(shù)據(jù)格式最主要的功能就是數(shù)據(jù)傳輸(一個(gè)服務(wù)器到另一個(gè)服務(wù)器,一個(gè)網(wǎng)站到另一個(gè)網(wǎng)站)配置文件、儲(chǔ)存數(shù)據(jù)當(dāng)做小型數(shù)據(jù)可使用、規(guī)范數(shù)據(jù)格式讓數(shù)據(jù)具有結(jié)構(gòu)性易讀易處理
1.2什么是xml
定義:指的是可擴(kuò)展性標(biāo)記語(yǔ)言;
XML被發(fā)明的目的是傳輸和存儲(chǔ)數(shù)據(jù),而不是展示數(shù)據(jù);
XML的標(biāo)簽必須自定義,但是在寫標(biāo)簽名的時(shí)候一定有含義;
XML是W3C推舉的數(shù)據(jù)傳輸格式;
Q:如何自己寫一個(gè)XML?
Q:XML和HTML有什么不一樣?
- HTML不能自定義,XML標(biāo)簽必須自定義;
- HTML語(yǔ)法要求不嚴(yán)格,XML語(yǔ)法要求及其嚴(yán)格,必須是成對(duì)標(biāo)簽;
- XML用來傳輸和存儲(chǔ),HTML用來展示數(shù)據(jù);
第二章 XML基本語(yǔ)法
2.1語(yǔ)法規(guī)則
XML必須有根結(jié)點(diǎn);根結(jié)點(diǎn)是其他所有節(jié)點(diǎn)的父級(jí)節(jié)點(diǎn)
XML頭聲明不強(qiáng)制要求,可有可無(wú),但是建議寫
XML頭聲明 <版本號(hào) 文件編碼>
所有XML元素都必須是成對(duì)標(biāo)簽;
標(biāo)簽大小寫敏感,區(qū)分大小寫
標(biāo)簽不能交叉編寫
注釋和HTML一樣
特殊字符使用實(shí)體轉(zhuǎn)義;
2.2元素屬性
屬性規(guī)則:
一個(gè)標(biāo)簽可以有多個(gè)屬性,屬性的值必須用引號(hào)(單引號(hào)、雙引號(hào))引起來;
命名規(guī)則:數(shù)字字母下劃線,數(shù)字不能開頭
屬性是表示標(biāo)簽自身的一些額外信息;
XML屬性就是雞肋(是指無(wú)用棄之可惜);
還有在解析XML數(shù)據(jù)時(shí),屬性會(huì)帶來額外的解析代碼(多了一步,比較麻煩)
2.3CDATA
注意:特殊字符較少時(shí),使用實(shí)體替換;較多時(shí)使用CDATA;CDATA必須大寫;
第三章 使用PHP解析XML文檔
XML是一種數(shù)據(jù)傳輸格式,當(dāng)PHP接收到的數(shù)據(jù)是一段XML時(shí),PHP怎么處理XML數(shù)據(jù)呢?
在PHP5版本以后。提供了類庫(kù),SimpleXML類庫(kù),專門用于實(shí)現(xiàn)對(duì)XML文檔的解析操作
3.1XML解析原理
PHP解析XML分為3步:
- 讀取XML文檔到內(nèi)存;
- 形成DOM樹;
- 由DOM樹生成對(duì)象并返回
3.2SimpleXML類庫(kù)
php解析xml返回對(duì)象的注釋:
3.3遍歷XML數(shù)據(jù)
不可缺少的:
foreach循環(huán)獲取xml數(shù)據(jù)
for循環(huán)獲取xml數(shù)據(jù)
3.4使用SimpleXML添加結(jié)點(diǎn)
不可缺少的:
對(duì)象中的addChild方法創(chuàng)建結(jié)點(diǎn)
添加man結(jié)點(diǎn)
對(duì)象中的addChild方法創(chuàng)建結(jié)點(diǎn)并給創(chuàng)建后的結(jié)點(diǎn)添加內(nèi)容
給man標(biāo)簽添加子標(biāo)簽-name標(biāo)簽,age標(biāo)簽
將添加后的對(duì)象重新解析成xml文檔,寫入文件
添加的內(nèi)容保存到xml文件里
3.5XM案例
獲取到xml文件地址
直接接收xml內(nèi)容(里面是string)而不是文件地址
使用方式:
打印輸出內(nèi)容:
完整案例:
Html部分(表單提交頁(yè)面)
Php部分:
第四章 XPATH語(yǔ)言
4.1概述
XPath是一門專門用來查找XML數(shù)據(jù)內(nèi)容的一門語(yǔ)言;
用來在XML文檔中對(duì)元素及屬性進(jìn)行遍歷;
4.2使用及語(yǔ)法
使用絕對(duì)路徑查找:
使用相對(duì)路徑查找:
(叫name下的所有內(nèi)容)
使用*匹配所有結(jié)點(diǎn)
條件查找