<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<META NAME="Generator" CONTENT="EditPlus">
<META NAME="Author" CONTENT="">
<META NAME="Keywords" CONTENT="">
<META NAME="Description" CONTENT="">
</HEAD>
<BODY>
<SCRIPT LANGUAGE="JavaScript">
var xmlDoc;
createXML();
//创建xml
function createXML(){
xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
var xmlString = "<GREETING><value><MESSAGE>Hello!</MESSAGE><MESSAGE>heihei</MESSAGE><MESSAGE>haha</MESSAGE></value></GREETING>";
var boolValue = xmlDoc.loadXML(xmlString);
//alert(boolValue);
}
//传回指定名称的元素集合,使用*表示返回所有元素
function getElementByTag(){
var objNodeList = xmlDoc.getElementsByTagName("MESSAGE");
for(var i=0;i<objNodeList.length;i++){
alert(objNodeList.item(i).xml);
}
}
function getSelectNode(){
//传回所有符合提供样式(pattern)的节点
var objNodeList=xmlDoc.selectNodes("//MESSAGE");//区分大小写
for(var i=0;i<objNodeList.length;i++){
alert(objNodeList.item(i).xml);
}
}
//传回第一个符合样式的节点
function getSingleNode(){
var node = xmlDoc.documentElement.selectSingleNode("//value//MESSAGE");
alert(node.xml);
document.write(node.xml);
}
//传回指定节点相关的文字
function getNodeValue(){
var varNodeValue = xmlDoc.documentElement.nodeValue;
alert(varNodeValue);
}
//传回目前节点的属性列表
function getAttribute1(){
var objAttList = xmlDoc.documentElement.attributes;
alert(objAttList);
}
//得到指定节点的文本
function getNodeText(){
var objNodeList = xmlDoc.getElementsByTagName("MESSAGE");
for(var i=0;i<objNodeList.length;i++){
var node = objNodeList[i].childNodes[0];
alert(node.nodeValue);
}
}
//某个节点下的所有值
function getText(){
var objNodeList = xmlDoc.getElementsByTagName("value");
for(var i=0;i<objNodeList.length;i++){
var n = objNodeList[i].getElementsByTagName("MESSAGE");
for(var j=0;j<objNodeList[i].childNodes.length;j++){
var node = objNodeList[i].childNodes[j];
alert(node.nodeValue);
}
}
}
//得到节点的文本
function getNode(){
var xml = "<resources><resource><ruuid>b173c3-11ac3caec8d-8f</ruuid><name>hello</name><version>2.0 </version><verder>icss</verder></resource><resource><ruuid>b173c3-11ac3caec8d-8f 70af46655f820aca8dca669d53e8f7</ruuid><name>xml</name><version>1.0</version><verder>icss</verder></resource></resources>";
var doc = new ActiveXObject("Microsoft.XMLDOM");
var boolValue = doc.loadXML(xml);
var root = doc.documentElement.selectSingleNode("//resources");
var objNodeList = root.childNodes;
for(var i=0;i<objNodeList.length;i++){
var ruuid = objNodeList[i].childNodes[0].text;
var name = objNodeList[i].childNodes[1];
var version = objNodeList[i].childNodes[2];
var verder = objNodeList[i].childNodes[3];
alert(ruuid);
}
}
</SCRIPT>
<INPUT TYPE="button" VALUE="创建XML" ONCLICK="createXML()"><BR>
<INPUT TYPE="button" VALUE="传回指定名称的元素集合" ONCLICK="getElementByTag()"><BR>
<INPUT TYPE="button" VALUE="传回所有符合提供样式的节点" ONCLICK="getSelectNode()"><BR>
<INPUT TYPE="button" VALUE="传回第一个符合样式的节点" ONCLICK="getSingleNode()"><BR>
<INPUT TYPE="button" VALUE="传回指定节点相关的文字" ONCLICK="getNodeValue()"><BR>
<INPUT TYPE="button" VALUE="传回目前节点的属性列表" ONCLICK="getAttribute1()"><BR>
<INPUT TYPE="button" VALUE="得到指定节点的文本" ONCLICK="getText()">
<INPUT TYPE="button" VALUE="得到指定节点的节点文本" ONCLICK="getNode()">
</BODY>
</HTML>
Xml Dom常用方法举例
最新推荐文章于 2021-03-20 05:41:50 发布
本文介绍了一种使用JavaScript操作XML文档的方法,包括创建XML文档、获取指定元素集合、选择符合样式的节点等多种操作技巧。
1001

被折叠的 条评论
为什么被折叠?



