色尼玛亚洲综合影院,亚洲3atv精品一区二区三区,麻豆freexxxx性91精品,欧美在线91

JavaScript XML操作 封裝類

復(fù)制代碼 代碼如下:
function XMLObject()
{
this.isIE=true;
if (window.ActiveXObject){isIE=true;}else{isIE=false;}
var node_xml;
var xmlDoc;
if (isIE){
xmlDoc = new ActiveXObject("Msxml2.DOMDocument");
}
else{
if (document.implementation && document.implementation.createDocument){
xmlDoc = document.implementation.createDocument("","",null);
}
}
xmlDoc.async = false;
xmlDoc.resolveExternals = false;
xmlDoc.validateOnParse = false;
xmlDoc.preserveWhiteSpace = true;
//從字符串創(chuàng)建XML對(duì)象(XML字符串)
this.LoadXMLForString=function(XMLStr)
{
if(isIE)
{
xmlDoc.loadXML(XMLStr);
}
else
{
var oParser = new DOMParser();
xmlDoc = oParser.parseFromString(XMLStr,"text/xml");
}
}
//從外部文件創(chuàng)建XML文件(文件路徑)
this.getXMLForURL=function(url)
{
//xmlDoc.load(url);
if (isIE){
xmlDoc.load(url);
}
else
{
xmlDoc = getXML(url).responseXML;
}
}
//獲得節(jié)點(diǎn)字節(jié)點(diǎn)
this.getXMLArray=function (name) {
var keys = name.split('.');
var node = xmlDoc.documentElement; // 得到根節(jié)點(diǎn)
var rtn = new Array();
var n = 0;
for(var i=0; i<keys.length; i++) {
var childs = node.childNodes; // 得到子節(jié)點(diǎn)
var key = keys[i];
for(var k=0; k<childs.length; k++) {
var child = childs[k];
if(child.nodeName == key) { // 判斷子節(jié)點(diǎn)是否符合
if(i == keys.length-1) {
rtn[n] = child;
n++;
} else {
node = child;
break;
}
}
}
}
node_xml=rtn;
return rtn;
}
//獲得節(jié)點(diǎn)內(nèi)容
this.getNodeValue=function(name)
{
return this.getValue(xmlDoc,name);
}
//根據(jù)節(jié)點(diǎn)獲得節(jié)點(diǎn)下子節(jié)點(diǎn)內(nèi)容
this.getValue=function(node, name)
{
var keys = name.split('.');
for(var i=0; i<keys.length; i++)
{
var childs = node.childNodes; // 得到子節(jié)點(diǎn)
var key = keys[i];
for(var k=0; k<childs.length; k++)
{
var child = childs[k];
if(child.nodeName == key)
{ // 判斷子節(jié)點(diǎn)是否符合
if(child.childNodes.length == 1)
{
// 如果沒有字節(jié)點(diǎn),返回值
if(!window.ActiveXObject)
{
return childs[k].textContent;
}
else
{
return childs[k].text
}
}
else
{
// 還有子節(jié)點(diǎn),繼續(xù)分析
node = child;
break;
}
}
}
}
return "";
}
function GetXMLHTTP()
{
var xmlhttp;
if (window.ActiveXObject){
try{xmlhttp=new ActiveXObject("Msxml2.XMLHTTP");}
catch (e){xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");}
}else if (window.XMLHttpRequest)
{xmlhttp=new XMLHttpRequest();}
return xmlhttp;
}
function getXML(url){
var xmlHttp=GetXMLHTTP();
if (xmlHttp!=null){
xmlHttp.open("GET",url,false);
xmlHttp.send(null);
}else{
alert("Your browser does not support XMLHTTP.11");
return false;
}
return xmlHttp;
}
}

調(diào)用方法DEMO
復(fù)制代碼 代碼如下:
var strXML="<?xml version='1.0' encoding='utf-8'?><ekuy><user><name><cnname>小豬</cnname></name><age>27</age></user><user><name><cnname>小霞</cnname></name><age>26</age></user><user><name><cnname>小章</cnname></name><age>25</age></user></ekuy>";

var XMLObj=new XMLObject();
XMLObj.LoadXMLForString(strXML)
//XMLObj.getXMLForURL("test.xml");

var list = XMLObj.getXMLArray( 'user');//獲得節(jié)點(diǎn)

document.write(XMLObj.getNodeValue('ekuy.user.name.cnname'));//直接獲得節(jié)點(diǎn)內(nèi)容

//循環(huán)節(jié)點(diǎn)獲得節(jié)點(diǎn)下子節(jié)點(diǎn)內(nèi)容
for(var i=0; i<list.length; i++) {
var obj = list[i];
document.write(XMLObj.getValue(obj, 'name.cnname'));
document.write(XMLObj.getValue(obj, 'age'));
document.write('<br//>');
}

呵呵 寫的不怎樣 大家見笑 非常簡(jiǎn)單的功能

JavaScript技術(shù)JavaScript XML操作 封裝類,轉(zhuǎn)載需保留來源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 赤水市| 青铜峡市| 乌什县| 邮箱| 道孚县| 永州市| 景宁| 河东区| 施秉县| 章丘市| 万源市| 故城县| 葵青区| 汉中市| 林周县| 林州市| 梓潼县| 镇原县| 临西县| 章丘市| 大足县| 贵南县| 阜宁县| 崇信县| 香河县| 安吉县| 山阴县| 鄄城县| 山西省| 台中市| 洞口县| 沁水县| 衡阳市| 合作市| 岢岚县| 南京市| 沂水县| 盐津县| 彩票| 香河县| 曲阳县|