XML DOM属性和方法,及如何加载xml文件

来源:互联网 发布:硬笔书法软件下载 编辑:程序博客网 时间:2024/05/18 00:18

属性被认为是说明”某事物是什么“,方法是说明“某事物要做什么”。

一些典型的DOM属性有:nodeName   节点的名称

                                         nodeValue    节点的值

                                         parentNode   节点的父节点

                                         childNodes    节点的直接直接点集

                                         attributes        节点的属性集

一些典型的DOM方法有:getElementsByTagName(name) - 获取带有指定标签名称的所有元素

                                         x.appendChild(node) - 向 x 插入子节点

                                         x.removeChild(node) - 从 x 删除子节点

如现在有一个web.xml文件

<?xml version="1.0" encoding="UTF-8"?><web-app version="2.5"  xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">  <servlet>    <description id="test">This is the description of my J2EE component</description>    <display-name>This is the display name of my J2EE component</display-name>    <servlet-name>testService</servlet-name>    <servlet-class>com.treetest.testService</servlet-class>  </servlet>  <servlet-mapping>    <servlet-name>testService</servlet-name>    <url-pattern>/servlet/testService</url-pattern>  </servlet-mapping>  <welcome-file-list>    <welcome-file>index.jsp</welcome-file>  </welcome-file-list></web-app>


现在需要在页面上加载这个xml文件并读取其中的内容

<script type="text/javascript">   function loadXMLDoc(xmlName){    try{     xmlDom = new ActiveXObject("Microsoft.XMLDOM");//IE浏览器    }catch(e){     try{      xmlDom = document.implementation.createDocument("", "", null);//非IE浏览器     }catch(e){      alert(e.message);     }    }    try{     xmlDom.async = false;//是否异步加载     xmlDom.load(xmlName);//加载xml文件内容     return(xmlDom);    }catch(e){     alert(e.message);    }   }   function test(){    var xmlDoc = loadXMLDoc("web.xml");    var tagName = xmlDoc.getElementsByTagName("servlet");//获取标签名字为servlet的标签    alert(tagName[0].childNodes[0].text);//获取第一个节点对象的第一个子节点的文本内容   结果是:This is the description of my J2EE component    alert(tagName[0].childNodes[0].getAttribute("id"));//获取第一个节点对象的第一个子节点的id属性值   结果是:test    alert(tagName[0].childNodes[0].attributes[0].value);//也是获取id属性值   结果是:test   }  </script>


 当让也可以先获取xml文件的根节点,根据根节点获取孩子节点,逐步深入过去想要的数据。获取根节点的方法是documentElement

 
function test(){var xmlDoc = loadXMLDoc("web.xml");//var tagName = xmlDoc.getElementsByTagName("servlet");var tagName = xmlDoc.documentElementalert(tagName.childNodes[0].childNodes[0].text);//结果是:This is the description of my J2EE componentalert(tagName.childNodes[0].childNodes[0].getAttribute("id"));//结果是:test}
	
				
		
原创粉丝点击