JS操作Xml文件 (1)
2012-10-26 17:22
162 查看
其中的Xml文件Search.xml,它的内容如下: <?xml version="1.0" encoding="utf-8" ?> <WorkInfo> <WorkInfoName> <WorkId>1</WorkId> <xml>newflow.xml</xml> </WorkInfoName> <WorkInfoName> <WorkId>2</WorkId> <xml>2.xml</xml> </WorkInfoName> <WorkInfoName> <WorkId>3</WorkId> <xml>3.xml</xml> </WorkInfoName> <WorkInfoName> <WorkId>4</WorkId> <xml>4.xml</xml> </WorkInfoName> </WorkInfo> 读取Xml文件中的某一个节点: function ready() { // 加载xml文档 loadXML = function(xmlFile) { var xmlDoc; if(window.ActiveXObject) { xmlDoc = new ActiveXObject('Microsoft.XMLDOM'); xmlDoc.async = false; xmlDoc.load(xmlFile); } else if (document.implementation&&document.implementation.createDocument) { xmlDoc = document.implementation.createDocument('', '', null); xmlDoc.load(xmlFile); } else { return null; } return xmlDoc; } // 首先对xml对象进行判断 checkXMLDocObj = function(xmlFile) { var xmlDoc = loadXML(xmlFile); if(xmlDoc==null) { alert('您的浏览器不支持xml文件读取,于是本页面禁止您的操作,推荐使用IE5.0以上可以解决此问题!'); } return xmlDoc; } // 然后开始获取需要的Login/Weapon/W的第一个节点的属性值 var xmlDoc = checkXMLDocObj('Search.xml'); var v = xmlDoc.getElementsByTagName('WorkInfo/WorkInfoName')[0].childNodes.item(1).text ; alert (v); } 用表格显示xml文件 遍历其中的任何一个节点: function ParseXML(xmldoc) { var dv=document.getElementById('dvTB'),innerHTML='<table border="1"><tr align="center"><td>WorkId</td><td>xml</td></tr>',node ,employee=xmldoc.getElementsByTagName("WorkInfoName");//获取所有WorkInfoName标签 //遍历employee for(var i=0;i<employee.length;i++){ node=employee[i].getElementsByTagName("WorkId")[0];//获取当前节点下的所有job节点,因为此节点下只有一个job,所以索引为0 node=node.firstChild;//注意文本节点也算一个节点,所以还得使用firstChild innerHTML+='<tr><td>'+node.nodeValue+'</td>';//获取job节点内的内容 //同理获取该employee节点下的salary节点,上面为了说明,多分了几个步骤,下面就简化了 innerHTML+='<td>'+employee[i].getElementsByTagName("xml")[0].firstChild.nodeValue+'</td>'; innerHTML+='</tr>';//闭合tr } innerHTML+='</table>';//闭合table //设置div的innerHTML属性 dv.innerHTML=innerHTML; } function loadXML(url) { var xmldoc; if(document.implementation&&document.implementation.createDocument){ xmldoc=document.implementation.createDocument("","",null); xmldoc.onload=function(){ParseXML(xmldoc);} xmldoc.load(url); } else if(window.ActiveXObject){ xmldoc=new ActiveXObject("Microsoft.XMLDOM"); xmldoc.onreadystatechange=function(){if(xmldoc.readyState==4)ParseXML(xmldoc);} xmldoc.load(url); } } window.onload=function(){loadXML("search.xml");} 向xml中加入一个节点: function aa() { // 加载xml文档 loadXML = function(xmlFile) { var xmlDoc; if(window.ActiveXObject) { xmlDoc = new ActiveXObject('Microsoft.XMLDOM'); xmlDoc.async = false; xmlDoc.load(xmlFile); } else if (document.implementation&&document.implementation.createDocument) { xmlDoc = document.implementation.createDocument('', '', null); xmlDoc.load(xmlFile); } else { return null; } return xmlDoc; } // 首先对xml对象进行判断 checkXMLDocObj = function(xmlFile) { var xmlDoc = loadXML(xmlFile); if(xmlDoc==null) { alert('您的浏览器不支持xml文件读取,于是本页面禁止您的操作,推荐使用IE5.0以上可以解决此问题!'); } return xmlDoc; } // 然后开始获取需要的Login/Weapon/W的第一个节点的属性值 var xmlDoc = checkXMLDocObj('Search.xml'); var book = xmlDoc.createElement("book"); var category = xmlDoc.createAttribute("category"); category.nodeValue = "WEB"; book.setAttributeNode(category); var title = xmlDoc.createElement("title"); var titleAtt = xmlDoc.createAttribute("lang"); titleAtt.nodeValue = "XML Dom"; title.setAttributeNode(titleAtt); var titleTxt = xmlDoc.createTextNode("W3"); title.appendChild(titleTxt); var author = xmlDoc.createElement("author"); var authorTxt = xmlDoc.createTextNode("W3School"); author.appendChild(authorTxt); var year = xmlDoc.createElement("year"); var yearTxt =xmlDoc.createTextNode("2004"); year.appendChild(yearTxt); var price = xmlDoc.createElement("price"); var priceTxt = xmlDoc.createTextNode("32"); price.appendChild(priceTxt); book.appendChild(title); book.appendChild(author); book.appendChild(year); book.appendChild(price); var root = xmlDoc.documentElement; root.appendChild(book); document.write("<xmp>" + xmlDoc.xml + "</xmp>"); } 创建Xml文件: function cc() { //创建方法一 var xmldoc=new ActiveXObject("Microsoft.XMLDOM"); xmldoc.async = false; xmldoc.load("temp1.xml"); var p=xmldoc.createProcessingInstruction("xml","version='1.0' encoding='gb2312'");//创建声明 xmldoc.appendChild(p);//添加声明 var root = xmldoc.createElement("students"); xmldoc.appendChild(root); var book = xmldoc.createElement("book"); var category = xmldoc.createAttribute("category"); category.nodeValue = "WEB"; book.setAttributeNode(category); var title = xmldoc.createElement("title"); var titleAtt = xmldoc.createAttribute("lang"); titleAtt.nodeValue = "XML Dom"; title.setAttributeNode(titleAtt); var titleTxt = xmldoc.createTextNode("W3"); title.appendChild(titleTxt); var author = xmldoc.createElement("author"); var authorTxt = xmldoc.createTextNode("W3School"); author.appendChild(authorTxt); var year = xmldoc.createElement("year"); var yearTxt =xmldoc.createTextNode("2004"); year.appendChild(yearTxt); var price = xmldoc.createElement("price"); var priceTxt = xmldoc.createTextNode("32"); price.appendChild(priceTxt); book.appendChild(title); book.appendChild(author); book.appendChild(year); book.appendChild(price); root.appendChild(book); //保存方法二 var fso=new ActiveXObject("Scripting.FileSystemObject"); var ts=fso.createTextFile("C:/temp2.xml",true); ts.write(xmldoc.xml); ts.close(); } 这个网址上也有比较多的介绍:http://www.w3school.com.cn/x.asp
相关文章推荐
- js操作XML文件的实现方法兼容IE与FireFox
- JS操作Xml文件
- JS操作XML实例总结(加载与解析XML文件、字符串)
- 一段 js操作xml文件 的示例代码
- js操作XML文件的实现方法兼容IE与FireFox
- js操作xml文件
- Js操作xml文件
- JS操作XML实例总结(加载与解析XML文件、字符串)
- JS操作JSON
- JS与框架页的操作
- JS操作Cookie
- js数组的操作
- Js操作excel小结
- Java操作XML文件
- nodejs mongoose 操作mongodb 数据库封装
- js常用操作
- Python学习笔记(8):The ElementTree XML API——操作XML文件
- Js获取当前日期时间及其它操作
- java操作xml文件--修改节点
- js操作node节点