|
屬性:
Attributes 存儲節(jié)點的屬性列表(只讀)
childNodes 存儲節(jié)點的子節(jié)點列表(只讀)
dataType 返回此節(jié)點的數(shù)據(jù)類型
Definition 以DTD或XML模式給出的節(jié)點的定義(只讀)
Doctype 指定文檔類型節(jié)點(只讀)
documentElement 返回文檔的根元素(可讀寫)
firstChild 返回當(dāng)前節(jié)點的第一個子節(jié)點(只讀)
Implementation 返回XMLDOMImplementation對象
lastChild 返回當(dāng)前節(jié)點最后一個子節(jié)點(只讀)
nextSibling 返回當(dāng)前節(jié)點的下一個兄弟節(jié)點(只讀)
nodeName 返回節(jié)點的名字(只讀)
nodeType 返回節(jié)點的類型(只讀)
nodeTypedValue 存儲節(jié)點值(可讀寫)
nodeValue 返回節(jié)點的文本(可讀寫)
ownerDocument 返回包含此節(jié)點的根文檔(只讀)
parentNode 返回父節(jié)點(只讀)
Parsed 返回此節(jié)點及其子節(jié)點是否已經(jīng)被解析(只讀)
Prefix 返回名稱空間前綴(只讀)
preserveWhiteSpace 指定是否保留空白(可讀寫)
previousSibling 返回此節(jié)點的前一個兄弟節(jié)點(只讀)
Text 返回此節(jié)點及其后代的文本內(nèi)容(可讀寫)
url 返回最近載入的XML文檔的URL(只讀)
Xml 返回節(jié)點及其后代的XML表示(只讀)
方法:
appendChild 為當(dāng)前節(jié)點添加一個新的子節(jié)點,放在最后的子節(jié)點后
cloneNode 返回當(dāng)前節(jié)點的拷貝
createAttribute 創(chuàng)建新的屬性
createCDATASection 創(chuàng)建包括給定數(shù)據(jù)的CDATA段
createComment 創(chuàng)建一個注釋節(jié)點
createDocumentFragment 創(chuàng)建DocumentFragment對象
createElement 創(chuàng)建一個元素節(jié)點
createEntityReference 創(chuàng)建EntityReference對象
createNode 創(chuàng)建給定類型,名字和命名空間的節(jié)點
createPorcessingInstruction 創(chuàng)建操作指令節(jié)點
createTextNode 創(chuàng)建包括給定數(shù)據(jù)的文本節(jié)點
getElementsByTagName 返回指定名字的元素集合
hasChildNodes 返回當(dāng)前節(jié)點是否有子節(jié)點
insertBefore 在指定節(jié)點前插入子節(jié)點
Load 導(dǎo)入指定位置的XML文檔
loadXML 導(dǎo)入指定字符串的XML文檔
removeChild 從子結(jié)點列表中刪除指定的子節(jié)點
replaceChild 從子節(jié)點列表中替換指定的子節(jié)點
Save 把XML文件存到指定節(jié)點
selectNodes 對節(jié)點進(jìn)行指定的匹配,并返回匹配節(jié)點列表
selectSingleNode 對節(jié)點進(jìn)行指定的匹配,并返回第一個匹配節(jié)點
transformNode 使用指定的樣式表對節(jié)點及其后代進(jìn)行轉(zhuǎn)換
transformNodeToObject 使用指定的樣式表將節(jié)點及其后代轉(zhuǎn)換
實例獲取標(biāo)簽屬性.值:
Me.xml
復(fù)制代碼 代碼如下:
<?xml version="1.0" encoding="utf-8"?>
<phplamp>
<post>
<title id="1">php XML處理介紹一</title>
<details>詳細(xì)內(nèi)容一</details>
</post>
<post>
<title id="2">php XML處理介紹二</title>
<details>詳細(xì)內(nèi)容二</details>
</post>
<post>
<title id="3">php XML處理介紹三</title>
<details>詳細(xì)內(nèi)容三</details>
</post>
</phplamp>
復(fù)制代碼 代碼如下:
// 首先要建一個DOMDocument對象
$xml = new DOMDocument();
// 加載Xml文件
$xml->load("me.xml");
// 獲取所有的post標(biāo)簽
$postDom = $xml->getElementsByTagName("post");
// 循環(huán)遍歷post標(biāo)簽
foreach($postDom as $post){
// 獲取Title標(biāo)簽Node
$title = $post->getElementsByTagName("title");
/**
* 要獲取Title標(biāo)簽的Id屬性要分兩部走
* 1. 獲取title中所有屬性的列表也就是$title->item(0)->attributes
* 2. 獲取title中id的屬性,因為其在第一位所以用item(0)
*
* 小提示:
* 若取屬性的值可以用item(*)->nodeValue
* 若取屬性的標(biāo)簽可以用item(*)->nodeName
* 若取屬性的類型可以用item(*)->nodeType
*/
echo "Id: " . $title->item(0)->attributes->item(0)->nodeValue . "<br />";
echo "Title: " . $title->item(0)->nodeValue . "<br />";
echo "Details: " . $post->getElementsByTagName("details")->item(0)->nodeValue . "<br /><br />";
}
下面是js讀取xml文件的代碼 ajax+xml留言
復(fù)制代碼 代碼如下:
var xmldoc = new ActiveXObject("Microsoft.XMLDOM");
xmldoc.async = false;
var 舊發(fā)言 = "";
function getxml(){
try{
xmldoc.load("word.xml");
if(xmldoc.documentElement != null){
var 新發(fā)言 = xmldoc.xml;
if(新發(fā)言 != 舊發(fā)言){
舊發(fā)言 = 新發(fā)言;
var allwords = xmldoc.selectNodes("list/message");
新發(fā)言 = "";
for(var i = 0;i < allwords.length;i++){
var 數(shù)組 = allwords[i].text.split("@");
var 作者 = 數(shù)組[0];
if(作者 == 用戶名.value){
作者 = "<font color='Turquoise'>"+作者+"</font>";
}
else{
作者 = "<font color='Silver'>"+作者+"</font>";
}
var 發(fā)言= "<font color='Gold'>"+數(shù)組[1]+"</font>";
新發(fā)言 += "<div>"+作者+" "+發(fā)言+"</div>"
+"<div style='text-align:right;font-size:9px;'>"
+allwords[i].getAttribute("author").substring(0,allwords[i].getAttribute("author").lastIndexOf(".")+1)
+"* "
+allwords[i].getAttribute("time")
+"</div>";
}
words.innerHTML = 新發(fā)言;
words.scrollTop = words.scrollHeight;
}
}
}
catch(e){
}
}
var 讀取中 = false;
function getdata(){
if(!讀取中){
讀取中 = true;
getxml();
讀取中 = false;
}
setTimeout("getdata()",3000);
}
getdata();
submit.onclick = function(){
submit.disabled = true;
if(word.value != ""){
var xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
xmlHttp.open("GET","save.php?name=" +encodeURIComponent(用戶名.value)+ "&word="+encodeURIComponent(word.value), true);
xmlHttp.setRequestHeader("Content-Type","text/html; charset=utf-8");
xmlHttp.send(null);
word.value = "";
if(!讀取中){
讀取中 = true;
getxml();
讀取中 = false;
}
}
setTimeout("submit.disabled = false;",3000);
word.focus();
}
php技術(shù):PHP XML操作類DOMDocument,轉(zhuǎn)載需保留來源!
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請第一時間聯(lián)系我們修改或刪除,多謝。