XML DOM深入淺出之節點操作

2021-08-27 13:27:02 字數 2548 閱讀 5740

今天就來和大家分享下,關於節點的操作。也就是所謂的增刪改查,不過我目前用的比較多的還是查,因為資料多是從後台查詢出來的,也就暫時用不著再增、改和刪了。不過我會把這些方法都寫到部落格中和大家分享。相信在不同的開發中會有不同的作用。

一、xml dom獲取節點值

nodevalue 屬性用於獲取節點的文字值。

getattribute() 方法返回屬性的值。

1、獲取元素的值

在 dom 中,每種成分都是節點。元素節點沒有文字節點。元素節點的文字儲存在子節點中。該節點稱為文字節點。獲取元素文字的方法,就是獲取這個子節點(文字節點)的值。

getelementsbytagname() 方法返回包含擁有指定標籤名的所有元素的節點列表,其中的元素的順序是它們在源文件中出現的順序。

// 載入book.xml檔案 

xmldoc = loadxmldoc("<%=path %>/xml/book.xml");

x = xmldoc.getelementsbytagname("title")[0];

y = x.childnodes[0]; // childnodes 屬性返回子節點的列表

txt = y.nodevalue; // nodevalue 屬性返回文字節點的文字值

document.write("獲取元素值: "+txt);

document.write("

");

2、獲取屬性的值

在 dom 中,屬性也是節點。與元素節點不同,屬性節點擁有文字值。獲取屬性的值的方法,就是獲取它的文字值。可以通過使用 getattribute() 方法或屬性節點的 nodevalue 屬性來完成這個任務。

att = xmldoc.getelementsbytagname("title")[0].getattribute("low");

document.write("獲取屬性值: "+att);

setattribute() 方法用於改變屬性的值。

x=xmldoc.getelementsbytagname("title")[0].childnodes[0];

x.nodevalue="hello world";

、xml dom獲取節點值

1、改變元素的值

aa = xmldoc.getelementsbytagname("title")[0].childnodes[0].nodevalue="hello world";

document.write("改變元素值: "+aa);

document.write("

");

2、改變屬性的值

bb=xmldoc.getelementsbytagname('book')[0].setattribute("category","web");

document.write("改變屬性值: "+bb);

document.write("

");

nodevalue 屬性可用於更改屬性節點的值:

xx=xmldoc.getelementsbytagname("book")[0]

yy=xx.getattributenode("category");

yy.nodevalue="web";

三、xml dom建立和新增節點

1、建立節點

createelement() 方法建立新的元素節點,createattribute() 用於建立新的屬性節點,由於 setattribute() 可以在屬性不存在的情況下建立新的屬性,我們可以使用這個方法來建立新屬性,createtextnode() 方法建立新的文字節點。createcomment() 方法建立乙個新的注釋節點等等。

// 建立新的元素節點

newel=xmldoc.createelement("desk");

// 建立新的屬性節點

newatt=xmldoc.createattribute("edition");

newatt.nodevalue="aa";

// 通過使用 setattribute() 來建立屬性

x[0].setattribute("desk","bb");

// 建立文字節點

newtext=xmldoc.createtextnode("cc");

四、xml dom刪除節點

removechild() 方法刪除指定節點。

removeattribute() 方法刪除指定屬性。

深入淺出之STL

c stl 標準模板庫 是一套功能強大的 c 模板類,提供了通用的模板類和函式,這些模板類和函式可以實現多種流行和常用的演算法和資料結構,如向量 鍊錶 佇列 棧。c 標準模板庫的核心包括以下三個元件 元件描述 容器 containers 容器是用來管理某一類物件的集合。c 提供了各種不同型別的容器,...

深入淺出sizeof

int佔 位元組,short佔 位元組 1.0 回答下列問題 答案在文章末尾 1.sizeof char 2.sizeof a 3.sizeof a 4.strlen a 如果你答對了全部四道題,那麼你可以不用細看下面關於sizeof的論述。如果你答錯了部分題目,那麼就跟著我來一起 關於sizeof...

深入淺出ShellExecute

ipconfig c log.txt應如何處理?二樓的朋友,開啟拔號網路這樣 shellexecute null,open c windows rundll32.exe shell32.dll,control rundll c windows system telephon.cpl null,sw ...