用javascript操作xml方法與技巧
發(fā)布時(shí)間:2011-09-12 19:08:03 作者:佚名
我要評(píng)論
文中盡量用上所有的操作和屬性,以做示范
復(fù)制代碼
代碼如下:<script language="JavaScript">
<!--
var doc = new ActiveXObject("Msxml2.DOMDocument"); //ie5.5+,CreateObject("Microsoft.XMLDOM")
//加載文檔
//doc.load("b.xml");
//創(chuàng)建文件頭
var p = doc.createProcessingInstruction("xml","version='1.0' encoding='gb2312'");
//添加文件頭
doc.appendChild(p);
//用于直接加載時(shí)獲得根接點(diǎn)
//var root = doc.documentElement;
//兩種方式創(chuàng)建根接點(diǎn)
// var root = doc.createElement("students");
var root = doc.createNode(1,"students","");
//創(chuàng)建子接點(diǎn)
var n = doc.createNode(1,"ttyp","");
//指定子接點(diǎn)文本
//n.text = " this is a test";
//創(chuàng)建孫接點(diǎn)
var o = doc.createElement("sex");
o.text = "男"; //指定其文本
//創(chuàng)建屬性
var r = doc.createAttribute("id");
r.value="test";
//添加屬性
n.setAttributeNode(r);
//創(chuàng)建第二個(gè)屬性
var r1 = doc.createAttribute("class");
r1.value="tt";
//添加屬性
n.setAttributeNode(r1);
//刪除第二個(gè)屬性
n.removeAttribute("class");
//添加孫接點(diǎn)
n.appendChild(o);
//添加文本接點(diǎn)
n.appendChild(doc.createTextNode("this is a text node."));
//添加注釋
n.appendChild(doc.createComment("this is a comment\n"));
//添加子接點(diǎn)
root.appendChild(n);
//復(fù)制接點(diǎn)
var m = n.cloneNode(true);
root.appendChild(m);
//刪除接點(diǎn)
root.removeChild(root.childNodes(0));
//創(chuàng)建數(shù)據(jù)段
var c = doc.createCDATASection("this is a cdata");
c.text = "hi,cdata";
//添加數(shù)據(jù)段
root.appendChild(c);
//添加根接點(diǎn)
doc.appendChild(root);
//查找接點(diǎn)
var a = doc.getElementsByTagName("ttyp");
//var a = doc.selectNodes("http://ttyp");
//顯示改接點(diǎn)的屬性
for(var i= 0;i<a.length;i++)
{
alert(a[i].xml);
for(var j=0;j<a[i].attributes.length;j++)
{
alert(a[i].attributes[j].name);
}
}
//修改節(jié)點(diǎn),利用XPATH定位節(jié)點(diǎn)
var b = doc.selectSingleNode("http://ttyp/sex");
b.text = "女";
//alert(doc.xml);
//XML保存(需要在服務(wù)端,客戶端用FSO)
//doc.save();
//查看根接點(diǎn)XML
if(n)
{
alert(n.ownerDocument.xml);
}
//-->
</script>
<!--
var doc = new ActiveXObject("Msxml2.DOMDocument"); //ie5.5+,CreateObject("Microsoft.XMLDOM")
//加載文檔
//doc.load("b.xml");
//創(chuàng)建文件頭
var p = doc.createProcessingInstruction("xml","version='1.0' encoding='gb2312'");
//添加文件頭
doc.appendChild(p);
//用于直接加載時(shí)獲得根接點(diǎn)
//var root = doc.documentElement;
//兩種方式創(chuàng)建根接點(diǎn)
// var root = doc.createElement("students");
var root = doc.createNode(1,"students","");
//創(chuàng)建子接點(diǎn)
var n = doc.createNode(1,"ttyp","");
//指定子接點(diǎn)文本
//n.text = " this is a test";
//創(chuàng)建孫接點(diǎn)
var o = doc.createElement("sex");
o.text = "男"; //指定其文本
//創(chuàng)建屬性
var r = doc.createAttribute("id");
r.value="test";
//添加屬性
n.setAttributeNode(r);
//創(chuàng)建第二個(gè)屬性
var r1 = doc.createAttribute("class");
r1.value="tt";
//添加屬性
n.setAttributeNode(r1);
//刪除第二個(gè)屬性
n.removeAttribute("class");
//添加孫接點(diǎn)
n.appendChild(o);
//添加文本接點(diǎn)
n.appendChild(doc.createTextNode("this is a text node."));
//添加注釋
n.appendChild(doc.createComment("this is a comment\n"));
//添加子接點(diǎn)
root.appendChild(n);
//復(fù)制接點(diǎn)
var m = n.cloneNode(true);
root.appendChild(m);
//刪除接點(diǎn)
root.removeChild(root.childNodes(0));
//創(chuàng)建數(shù)據(jù)段
var c = doc.createCDATASection("this is a cdata");
c.text = "hi,cdata";
//添加數(shù)據(jù)段
root.appendChild(c);
//添加根接點(diǎn)
doc.appendChild(root);
//查找接點(diǎn)
var a = doc.getElementsByTagName("ttyp");
//var a = doc.selectNodes("http://ttyp");
//顯示改接點(diǎn)的屬性
for(var i= 0;i<a.length;i++)
{
alert(a[i].xml);
for(var j=0;j<a[i].attributes.length;j++)
{
alert(a[i].attributes[j].name);
}
}
//修改節(jié)點(diǎn),利用XPATH定位節(jié)點(diǎn)
var b = doc.selectSingleNode("http://ttyp/sex");
b.text = "女";
//alert(doc.xml);
//XML保存(需要在服務(wù)端,客戶端用FSO)
//doc.save();
//查看根接點(diǎn)XML
if(n)
{
alert(n.ownerDocument.xml);
}
//-->
</script>
相關(guān)文章
MIME類(lèi)型中application/xml與text/xml的區(qū)別介紹
這篇文章介紹了MIME類(lèi)型中application/xml與text/xml的區(qū)別,對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-12-28- XML中擁有Schema特性,能夠比DTD更加強(qiáng)大地引入元素結(jié)構(gòu),下面我們就來(lái)詳解XML中的模式Schema的概念及作用和用法,需要的朋友可以參考下2021-11-30
- 這篇文章主要介紹了XML基本概念入門(mén)學(xué)習(xí)指南,包括其與HTML的關(guān)系以及元素和特殊標(biāo)簽等,需要的朋友可以參考下2016-06-24
- XML標(biāo)簽的自定義功能非常強(qiáng)大,比如本文將要講解的DTD(Document Type Definition)就帶給人們一種面向?qū)ο蟀愕母杏X(jué),well,下面就來(lái)看一下XML中的DTD文件類(lèi)型定義完全解析2016-06-24
- 這篇文章主要介紹了XML文件的閱讀與編輯,最常用的工具當(dāng)然還是瀏覽器中的控制臺(tái)與源代碼查看,需要的朋友可以參考下2016-02-16
- 這篇文章主要介紹了XML的命名空間,包括命名空間的聲明等XML入門(mén)學(xué)習(xí)中的基礎(chǔ)知識(shí),需要的朋友可以參考下2016-02-16
解析XML中的樹(shù)形結(jié)構(gòu)與DOM文檔對(duì)象模型
這篇文章主要介紹了XML中的樹(shù)形結(jié)構(gòu)與DOM文檔對(duì)象模型,文中舉了JavaScript解析DOM對(duì)象的例子,需要的朋友可以參考下2016-02-15- 這篇文章主要介紹了詳解XML編程中的模式定義XSD,講解了如何在XML文檔中聲明模式及定義類(lèi)型等內(nèi)容,需要的朋友可以參考下2016-02-15
- 這篇文章主要介紹了XML中的DTD文檔類(lèi)型定義,是XML入門(mén)學(xué)習(xí)中的基礎(chǔ)知識(shí),需要的朋友可以參考下2016-02-15
淺談XML代碼編寫(xiě)的編碼與驗(yàn)證問(wèn)題
這篇文章主要介紹了XML代碼編寫(xiě)的編碼與驗(yàn)證問(wèn)題,與HTML類(lèi)似,XML文件的編碼也能在序言部分被指定,需要的朋友可以參考下2016-02-15

