首  页
站长信箱
868搜索
网站登录
免费计数器
免费留言本
IP来源查询
网站技术教程
网站流量统计
文章探索:   分类:    关键字:  
    什么?你还在找兼职?上兼客吧,现在兼客吧平台太火了,知名度和诚信度也很高,注册就送0.5元现金,满3元就能提现,马上到账了!最低3元就能提现,大家可以注册下试试!注册地址:http://www.jiankeba.com/computeryc1688
  + 栏目导航
  + 相关文章
xpath对ajax的完全操作,添加修..
AJAX技术 vs 传统的ASP无刷新技..
AJAX之xmlHttp
漫谈Ajax在.Net中的使用
初步了解 ASP.NET AJAX 扩展
Ajax+GridView+Xml的简易留言薄
使用Ajax时的十个常犯的错误
asp.net ajax 和 asp.net 2.0中..
AJAX入门之深入理解JavaScript..
网页数据的实时刷新
XMLHTTP对象封装技术
Ajax光环背后的隐患
AJAX支持的自动填充表单
AJAX如何与后台交互
asp.net ajax 使用updatepanel..
使用AjaxPro开发四级无刷新联动..
Ajax程序设计入门
什么是Ajax

技术教程 -> AJAX教程 ->  
xpath对ajax的完全操作,添加修改删除xml节点
来源:转载   人气:2977   录入时间:2008/12/29


    
   <button onclick="alert(xml.lookxml())" id=button1 name=button1>查看XML标签</button>
   <hr>
   添加节点:姓名:<input type=text id="name"> 内容:<input type=text id="content"> <input type=button value="添加XML节点" onclick="addnode()" id=button3 name=button3>
   <hr>
   xpath查询:<input type=text id="sql"><input value="xpath查询" type=button onclick="Ctable(oo('sql').value)" id=button4 name=button4>
   <hr>
   <div id=createTable></div>
   <script>
   var isIE=navigator.userAgent.indexOf("IE")>-1?true:false
   function CAJAX(){
    this.createDomDoc=function(){
    var signatures=["Msxml2.DOMDocument.5.0","Msxml2.DOMDocument.4.0","Msxml2.DOMDocument.3.0","Msxml2.DOMDocument","Microsoft.XmlDom"];
    for(var i=0;i<signatures.length;i++){try{var domDoc=new ActiveXObject(signatures[i]);return domDoc;}catch(e){}}
    return null;
    }
    this.SelectNodes = function(xpath){
    if (isIE)
    return domDoc.selectNodes(xpath) ;
    else{
    var aNodeArray = new Array();
    var xPathResult = domDoc.evaluate(xpath, domDoc, domDoc.createNSResolver(domDoc.documentElement), XPathResult.ORDERED_NODE_ITERATOR_TYPE, null) ;
    if (xPathResult){
    var oNode = xPathResult.iterateNext() ;
    while(oNode){
    aNodeArray[aNodeArray.length] = oNode ;
    oNode = xPathResult.iterateNext();
    }
    }
    return aNodeArray ;
    }
    }
    this.addxml=function(doc,tagName,tagText){
    var node=domDoc.createElement(tagName);
    if(tagText!=null){
    if(isIE)
    node.text=tagText;
    else
    node.textContent=tagText;
    }
    doc=doc==null?domDoc:doc
    doc.appendChild(node);
    }
    this.lookxml=function(){
    if(isIE){return domDoc.xml;}
    else{
    var serializer=new XMLSerializer();
    var xml=serializer.serializeToString(domDoc)
    return xml
    }
    }
    this.xva=function(xpath){return this.SelectNodes(xpath)} //获取所有节点
    this.o=function(xpath,n){n=n==null?0:n;return this.SelectNodes(xpath)[n]} //获取单个节点
    this.xv=function(xpath,n){try{return this.getText(this.SelectNodes(xpath)[n==null?0:n])}catch(e){return ""}} //获取单个节点内容
    this.getText=function(obj){return obj.firstChild.nodeValue} //获取节点的内容
    this.getkey=function(obj,key){var o=obj.getAttribute(key);return o==null?"":o} //获取节点属性
    this.setText=function(obj,text){obj.firstChild.nodeValue=text} //设置节点内容
    this.setkey=function(obj,key,text){obj.setAttribute(key,text)}
   
    var domDoc=isIE?this.createDomDoc():document.implementation.createDocument("","",null) //创建对象
    this.addxml(null,"root",null);
   }
   var xml=new CAJAX()
   /*xml.addxml(xml.xva("/root")[0],"title","majiok2")
   xml.addxml(xml.xva("/root")[0],"title","majiok2")
   xml.setText(xml.o("//title"),"toLocaleLowerCaseX")
   xml.setkey(xml.o("//title"),"id","maji")
   */
   function oo(obj){return document.getElementById(obj)}
   function addnode(){
    var n=xml.xva("//root/item").length
    xml.addxml(xml.o("/root"),"item",oo("content").value==""?"null":oo("content").value)
    xml.setkey(xml.o("//item",n),"name",oo("name").value)
    Ctable("//item")
   }
   function updatenode(n){
    var obj=xml.o("//item",n)
    xml.setText(obj,oo("content_"+n).value)
    xml.setkey(obj,"name",oo("name_"+n).value)
    alert("修改成功!")
   }
   function delnode(n,xpath){
    var obj=xml.o(xpath,n)
    obj.parentNode.removeChild(obj)
    Ctable(xpath)
   }
   function Ctable(Xpath){
    var str="<table width='90%' border='0' cellspacing='1' cellpadding='3' bgcolor='#333333'>\
    <tr bgcolor='#E8F3FF'> \
    <td>序号</td>\
    <td>姓名(name)</td>\
    <td>内容(content)</td>\
    <td>操作</td>\
    </tr>"
   // try{
    var a=xml.xva(Xpath)
    if(a.length==0)
    str+="<tr bgcolor='#FFFFFF'><td colspan=4>没有相关信息</td></tr></table>"
    else{
    for(var i=0;i<a.length;i++){
    str+=" <tr bgcolor='#FFFFFF'> \
    <td>"+(i+1)+"</td>\
    <td><input id='name_"+i+"' value='"+xml.getkey(a[i],"name")+"'></td>\
    <td><input id='content_"+i+"' value='"+xml.getText(a[i])+"'></td>\
    <td><a href='javascript:updatenode("+i+")'>修改</a> <a href=javascript:delnode("+i+",'"+Xpath+"')>删除</td>\
    </tr>"
    }
    str+="</table>"
    }
    oo("createTable").innerHTML=str
   // }catch(e){alert("xpath语句错误")}
   }
   Ctable("//item")
   </script>



| 网站转让 | 站长信箱 | 网站登录 | 技术教程 | 免费计数器 | 免费留言本 | 868流量统计 | 好帮手网站营销 |
地址:广东省阳江市  联系电话:13725641179 杨先生
Copyright 2004-2019 868资源网- 版权所有    粤ICP备05007330号