-
什么是XML
- XML是可擴(kuò)展性標(biāo)記語(yǔ)言
- 設(shè)計(jì)宗旨是為了傳輸數(shù)據(jù)
- XML標(biāo)簽沒(méi)有被預(yù)定義,需要自行定義
-
XML的用途
- xml可以當(dāng)做配置文件
- xml可以當(dāng)小型數(shù)據(jù)庫(kù)
- xml是跨平臺(tái)的語(yǔ)言,用于各個(gè)語(yǔ)言之間的數(shù)據(jù)交互
-
XML語(yǔ)法規(guī)范
- 聲明一個(gè)處理指令<?xml version='1.0' encoding='utf-8'?>
- 文檔為樹(shù)狀結(jié)構(gòu),只能有一個(gè)根目錄
- 標(biāo)簽必須合法,標(biāo)簽必須閉合(單雙標(biāo)簽),大小寫一致,不能交叉。
- 屬性必須有值,屬性值必須有引號(hào)
- 特殊符號(hào)使用符號(hào)實(shí)體(單引號(hào)'雙引號(hào)"空格 &符號(hào)&大于號(hào)<小于號(hào)>)
- 有特殊符號(hào)的大段內(nèi)容使用<![CDATA[內(nèi)容]]>表示
如下所示:
<?xml version='1.0' encoding='utf-8'?>
<student>
<student1>
<name>xiaoming</name>
<age>24</age>
<style hobby="girl" />
</student1>
<student2>
<name>xiaohong</name>
<age>24</age>
<style hobby="play" />
</student2>
</student>
-
javascript操作xml
-
創(chuàng)建空的xml對(duì)象
try{
xmlDoc=new ActiveXObject('Microsoft.XML');//IE創(chuàng)建xmlDoc
}catch(e){
try{
xmlDoc=document.implementation.createDocument('','',null);//opera,mozilla,firefox等創(chuàng)建xmlDoc
}catch(e){
alert(e.message);
}
}
-
加載xml文件
try{
xmlDoc.async=false;//關(guān)閉異步加載
xmlDoc.load=('xml_goods.xml');
//document.write('已經(jīng)加載好了');
}catch(e){
alert(e.message);
}
-
獲取xml文件的節(jié)點(diǎn)
var students = xmlDoc.getElementsByTagName('student1');//取到所有標(biāo)簽為student1的節(jié)點(diǎn)
var student = students[0];//取到第一個(gè)studnet1
var studentnote = student.children;//取到第一個(gè)student的所有元素子節(jié)點(diǎn)
var name = studentnote[0].childNodes[0].nodeValue;//取到第一個(gè)節(jié)點(diǎn)name的第一個(gè)節(jié)點(diǎn)的值
window.alert(name);
-
用PHP操作xml
-
xmlDOM方法
實(shí)例化一個(gè)xmldom對(duì)象
$xmlDoc = new DOMDocument('1.0','utf-8');
- 加載xml文件
$xmlDoc->load('./student.xml');//加載本地xml文件
$xmlDoc->loadXML('xml字符串');//加載xml字符串
- 通過(guò)getElementsByTagName('')方法獲取DOMNodeList對(duì)
$xmlDoc->getElementsByTagName('name');
- 通過(guò)調(diào)用DOMNodeList里的item()方法得到DOMElement對(duì)象
$xmlDoc->getElementsByTagName('name')->item(0);
- 通過(guò)nodeValue屬性,來(lái)獲取節(jié)點(diǎn)的值
$xmlDoc->getElementsByTagName('name')->item(0)->nodeValue;
-
simplexml方法
獲取xml對(duì)象
$simplexml = simplexml_load_file('./jing.xml');
//或者
$xml = file_get_contents('jing.xml'); //獲取字符串
$simplexml = simplexml_load_string($xml);
- 調(diào)用對(duì)象的屬性值從而獲得xml標(biāo)簽值
$simplexml->stu[0]->sex;
作者:jingks
此為原創(chuàng)文章,請(qǐng)勿用在商業(yè)用途,轉(zhuǎn)載請(qǐng)標(biāo)明作者。