其中的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.οnlοad=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.οnlοad=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文件 (1)
最新推荐文章于 2024-06-24 15:51:31 发布