一 需求
应用getElementsByTagName方法按名称访问XML文档中数据。
二 分析
应用名称访问XML文档
首先应用ActiveXObject创建一个Microsoft解析器实例,然后将XML文档载入内存中。
接着应用getElementsByTagName()方法获取number元素、name元素和object元素的引用,返回结果为一个数组,数组中每个元素都对应XML文档中一个元素,并且次序相同。
最后获取对应元素所包含文字的值,并且对字符串进行拼接。
三 注意
在JavaScript的数组的下标中从0开始计数。FirstChild属性说明要访问name元素所包含的文字,而不是访问name元素本身;data属性获取节点的值。
四 代码
<?xml version="1.0" encoding="GB2312"?> <employes> <employe id='1' attendence='经理'> <number>1001</number> <name>程**</name> <object>PHP</object> <tel>84971547</tel> <address>长春市</address> <e_mail>cak**@sina.com</e_mail> </employe> <employe id='2' attendence='员工'> <number>1002</number> <name>龙**</name> <object>SQL</object> <tel>1234556</tel> <address>武汉市</address> <e_mail>ak**@sina.com</e_mail> </employe> </employes>
HTML代码
<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312"> <title>应用名称访问XML文档</title> </head> <script> function get_xml() { var xmldoc,employesNode,employeNode,peopleNode; //定义变量 var nameNode,titleNode,numberNode,displayText; //定义变量 xmldoc = new ActiveXObject("Microsoft.XMLDOM"); //创建Microsoft解析器实例 xmldoc.async = false; xmldoc.load("index.xml"); //载入指定的XML文档 numberNode=xmldoc.getElementsByTagName("number")[1]; //获取number元素的引用,访问员工的第2条信息 nameNode=xmldoc.getElementsByTagName("name")[1]; //获取name元素的引用 objectNode=xmldoc.getElementsByTagName("object")[1]; telNode=xmldoc.getElementsByTagName("tel")[1]; //实现字符串的拼接,输出XML文档中的数据 displayText="员工信息:"+numberNode.firstChild.data+','+nameNode.firstChild.data+', '+objectNode.firstChild.data+','+telNode.firstChild.data; div.innerHTML=displayText; //指定在ID标识为div的<div>标签中输出字符串displayText的信息 } </script> <body> <h1>应用名称访问XML文档</h1> <!--应用onClick事件调用函数get_xml()--> <input type="button" value="获取XML中的指定数据" onClick="get_xml()"> <div id="div"></div> </body> </html>
五 运行结果
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!