这篇文章主要介绍了应用名称访问XML文档的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。
一 需求
应用http://www.php.cn/code/8145.html" target="_blank">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>
<h2>应用名称访问XML文档</h2>
<!--应用onClick事件调用函数get_xml()-->
<input type="button" value="获取XML中的指定数据" onClick="get_xml()">
<div id="div"></div>
</body>
</html>
五 运行结果
感谢你能够认真阅读完这篇文章,希望小编分享的“应用名称访问XML文档的示例分析”这篇文章对大家有帮助,同时也希望大家多多支持亿速云,关注亿速云行业资讯频道,更多相关知识等着你来学习!
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。