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

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

一些典型的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.documentElement
			alert(tagName.childNodes[0].childNodes[0].text);//结果是:This is the description of my J2EE component
			alert(tagName.childNodes[0].childNodes[0].getAttribute("id"));//结果是:test
		}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值