js获取xml数据

var txt="";
txt=txt+"Everyday Italian";
txt=txt+"Giada De Laurentiis";
txt=txt+"2005";
txt=txt+"";
var xmlDoc;
if (window.DOMParser)
{
	alert("window");
parser=new DOMParser();
xmlDoc=parser.parseFromString(txt,"text/xml");
}
else // Internet Explorer
{
	alert("ie");
xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
xmlDoc.async=false;
xmlDoc.loadXML(txt);
} 
document.getElementById("to").innerHTML = xmlDoc.getElementsByTagName("title")[0].childNodes[0].nodeValue;
document.getElementById("from").innerHTML = xmlDoc.getElementsByTagName("author")[0].childNodes[0].nodeValue;
document.getElementById("message").innerHTML = xmlDoc.getElementsByTagName("year")[0].childNodes[0].nodeValue;



Everyday Italian
Giada De Laurentiis
2005


对于这段xml,先将xml解析到 XML DOM 对象中,然后通过 JavaScript 提取一些信息
从title提取文本:getElementsByTagName("title")[0].childNodes[0].nodeValue,
getElementsByTagName方法返回的是一个数组,这里只有一个title,所以取第一个。

var x = xmlDoc.getElementsByTagName("body")[0].firstChild.nodeValue;
如果body包含多个子元素。

获取xml中的相同元素个数,var x  = getElementsByTagName("title");      var count = x.length;
然后就可以遍历了。

获取属性值:
var att = xmlDoc.getElementsByTagName("title")[0].getAttribute("lang");

改变元素文本值:
var x = xmlDoc.getElementsByTagName("title")[0].childNodes[0];
x.nodeValue="Easy Cooking";

创建并添加新属性,为每个book元素添加edition属性,且值为first:
var x = xmlDoc.getElementsByTagName("book");
for(i=0;i {
x[i].setAttribute("edition","first");
}


更多的可以在这里找到答案: http://www.runoob.com/xml/xml-examples.html

你可能感兴趣的:(xml)