/**
* 封装装载XML的方法,并返回XML文档的根元素节点。
* @param flag true时参数xml表示xml文档的名称;false时参数xml是一个字符串,其内容是一个xml文档
* @param xml 根据flag参数的不同表示xml文档的名称或一个xml文档的字符串表示
*/
function loadXML(flag,xml){
var xmlDoc;
//针对IE浏览器
if(window.ActiveXObject){
var aVersions = ["MSXML2.DOMDocument.6.0", "MSXML2.DOMDocument.5.0","MSXML2.DOMDocument.4.0","MSXML2.DOMDocument.3.0",
"MSXML2.DOMDocument","Microsoft.XmlDom"];
for (var i = 0; i < aVersions.length; i++) {
try {
//建立xml对象
xmlDoc = new ActiveXObject(aVersions[i]);
break;
} catch (oError) {
}
}
if(xmlDoc != null){
//同步方式加载XML数据
xmlDoc.async = false;
//根据XML文档名称装载
if(flag == true){
xmlDoc.load(xml);
} else{
//根据表示XML文档的字符串装载
xmlDoc.loadXML(xml);
}
//返回XML文档的根元素节点。
return xmlDoc.documentElement;
}
} else{
//针对非IE浏览器
if(document.implementation && document.implementation.createDocument){
/*
第一个参数表示XML文档使用的namespace的URL地址
第二个参数表示要被建立的XML文档的根节点名称
第三个参数是一个DOCTYPE类型对象,表示的是要建立的XML文档中DOCTYPE部分的定义,通常我们直接使用null
这里我们要装载一个已有的XML文档,所以首先建立一个空文档,因此使用下面的方式
*/
xmlDoc = document.implementation.createDocument("","",null);
if(xmlDoc != null){
//根据XML文档名称装载
if(flag == true){
//同步方式加载XML数据
xmlDoc.async = false;
xmlDoc.load(xml);
} else{
//根据表示XML文档的字符串装载
var oParser = new DOMParser();
xmlDoc = oParser.parseFromString(xml,"text/xml");
}
//返回XML文档的根元素节点。
return xmlDoc.documentElement;
}
}
}
return null;
}
注:js解析本地xml在chrome下是不能运行的,只能用ajax来读取xml
例子:
<?xml version="1.0" encoding="UTF-8"?>
<j2eeQuertion>
<question>
<queInfo>屏蔽TOMCAT中的文件列表</queInfo>
<url>0001.html</url>
</question>
<question>
<queInfo>js读取xml</queInfo>
<url>0002.html</url>
</question>
</j2eeQuertion>
js解析过程:
var contentXML = loadXML(true,xmlUrl);
var que = contentXML.getElementsByTagName("question");
for(var i = 0 ; i < que.length ; i++){
var url = que[i].getElementsByTagName("url")[0].firstChild.data;
var tit = que[i].getElementsByTagName("queInfo")[0].firstChild.data;
alert(url);
alert(tit);
}
注:保存文件的格式为utf-8!
分享到:
相关推荐
JS 解析 XML 文件 作为一名 IT 行业大师,我将从给定的文件中生成相关知识点,涵盖 JS 解析 XML 文件的各种方面。 JS 解析 XML 文件的必要性 在当前的 web 开发中,XML 文件广泛应用于数据交换和存储。因此,如何...
资源名称:使用Javascript解析xml文件或xml格式字符串 中文WORD版 内容简介: 本文档主要讲述的是使用Javascript解析xml文件或xml格式字符串;javascript中,不论是解析xml文件,...
综上所述,这个项目的核心技术在于使用JavaScript解析XML,并以交互式树形结构展示数据。开发者通过编写JavaScript代码实现了XML到DOM的转换,然后将DOM树转换为HTML结构,最后通过CSS进行美化。这样的工具对于需要...
下面将详细探讨JavaScript解析XML的相关知识点。 1. DOM解析XML: 在JavaScript中,XML文档可以通过DOM(Document Object Model)接口来解析。DOM是一种标准,允许程序和脚本动态更新、添加和删除HTML或XML文档的...
通过这种方式,开发者可以快速理解并学习如何用JavaScript解析XML,以及如何实现联动效果。这个实例对于提升JavaScript编程能力和实际项目经验都非常有帮助。 总之,"js解析xml实现二级,三级联动简单成功实例"是一...
在JavaScript中解析XML文件是一项常见的任务,特别是在处理服务器返回的数据或者构建富客户端应用时。XML(eXtensible Markup Language)是一种结构化数据格式,它允许我们存储和传输信息,而JavaScript作为浏览器中...
JAVASCRIPT解析XML的方法总结.pdf
Js+XML 操作应用:JS解析XML文件和XML字符串 支付接口常用,亲测可用!
2. **JavaScript解析XML**:JavaScript提供了两种主要的方式来解析XML,即`DOMParser`和`XMLHttpRequest`(也称为Ajax)。`DOMParser`可以将XML字符串转化为DOM对象,方便后续操作;`XMLHttpRequest`则可以异步加载...
JavaScript中的XML解析器是用于处理XML数据的关键工具,它允许开发者在浏览器环境中解析XML文档或者XML字符串,从而在Web应用中有效地使用这些数据。XML(eXtensible Markup Language)是一种结构化数据语言,常用于...
在本文中,我们将深入探讨如何在JS中解析XML文档,这是一项重要的技能,尤其是在处理服务器返回的数据或者进行数据交换时。 XML(可扩展标记语言)是一种结构化数据格式,常用于存储和传输数据。由于其自描述性和...
利用javascript解析XML,来查询xml数据
在JavaScript(JS)中解析XML(可扩展标记语言)是一项常见的任务,特别是在处理与服务器交换数据的Web应用程序中。XML是一种结构化数据格式,广泛用于存储和传输信息。然而,不同的浏览器可能支持不同的方法来解析...
总的来说,JavaScript解析XML是Web开发中的基础技能,尤其在处理结构化数据和实现动态交互时显得尤为重要。通过合理利用XML和JavaScript,我们可以构建功能强大的通讯录应用,提供高效的查询和分页功能,满足用户的...
本项目"js解析xml生成菜单"是结合这两种技术,创建一个适用于IE和Firefox浏览器的动态导航菜单系统,具有良好的可扩展性,能够实现无限级别的子菜单。 首先,我们要理解XML(Extensible Markup Language)的本质。...
总结,JavaScript解析XML文档成树菜单涉及到DOM解析、XMLHttpRequest或fetch请求、DOM遍历、HTML结构生成、事件处理等多个技术点。具体实现可能因XML结构和需求而异,但基本流程是相似的。阅读原博客(288976)可以...
总的来说,JavaScript解析服务器端XML文件并生成树形菜单是一个常见的任务,涉及到XMLHttpRequest、DOM操作和递归算法等多个知识点。通过掌握这些技术,开发者可以构建出强大的前端应用程序,实现与服务器的数据交互...
1. **JavaScript解析XML**:在JavaScript中,可以使用`DOMParser`对象或者`ActiveXObject`(仅限于IE浏览器)来解析XML文档。`DOMParser`是W3C标准,支持所有现代浏览器。例如: ```javascript var parser = new DOM...
JavaScript解析xml数据
总结来说,实现JavaScript解析XML以创建多级级联下拉列表涉及的主要知识点包括:JavaScript基础、XML文件结构与解析、DOM操作、事件监听以及动态生成HTML元素。通过这些技术,可以构建出交互性强、用户体验良好的Web...