属性被认为是说明”某事物是什么“,方法是说明“某事物要做什么”。
一些典型的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 }