`

javascript之XML DOM的解析

阅读更多

javascript之XML DOM的解析

 

一、xml文件的定义

     

<?xml version="1.0" encoding="gbk"?>
<china>
	<province name="吉林省">
		<city>长春</city>
		<city>吉林市</city>
		<city>四平</city>
		<city>松原</city>
		<city>通化</city>
	</province>
	<province name="辽宁省">
		<city>沈阳</city>
		<city>大连</city>
		<city>鞍山</city>
		<city>抚顺</city>
		<city>铁岭</city>
	</province>
	<province name="山东省">
		<city>济南</city>
		<city>青岛</city>
		<city>威海</city>
		<city>烟台</city>
		<city>潍坊</city>
	</province>
</china>	

 

二、xml文件解析器的util类(跨浏览器)

function parseXML(fileXmlName){
      var xmlDoc;			
      try {
	  		//Internet Explorer  创建一个空的xml文档
            xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
     } 
    catch (e) {
            try {
			//Firefox, Mozilla, Opera, 创建一个空的xml文档
	   		xmlDoc = document.implementation.createDocument("", "", null);
            } 
            catch (e) {
            }
     }
     //关闭异步加载
     xmlDoc.async = false;
     //加载xml文件
     xmlDoc.load(fileXmlName);
     return xmlDoc;
}

 

三、XML DOM访问节点

    <html>
      <head>
        <title>test01.html</title>
        <meta http-equiv="content-type" content="text/html; charset=UTF-8">
		<script type="text/javascript" src="util.js"></script>
    </head>
    <body>
        <select id="province" name="province">
            <option value="">请选择....</option>
            <option value="吉林省">吉林省</option>
            <option value="辽宁省">辽宁省</option>
            <option value="山东省">山东省</option>
        </select>
        <select id="city" name="city">
            <option value="">请选择.....</option>
        </select>
    </body>
    <script language="JavaScript">
	//获取第一个下拉选择框时,显示对应的省份信息
	document.getElementById("province").onchange = function () {
	//处理上一级节点的值
	var cityElement = document.getElementById("city");
	var optionElements =cityElement.getElementsByTagName("option");
	for(var z=1;z<optionElements.length;z++){
		cityElement.removeChild(optionElements[z]);
		z--;
	}
	
    //1.获取页面选中的省份信息
    var provinceElement = this.value;
    //2.创建xml解析器,参数传递xml文件
    var docXml = parseXML("cities.xml");
    //3.获取xml文件所有对应的province标签
    var provinceXmlElements = docXml.getElementsByTagName("province");
    //4.遍历province标签
    for (var i = 0; i < provinceXmlElements.length; i++) {
        var provinceXmlElement = provinceXmlElements[i];
        var provinceXmlValue = provinceXmlElement.getAttribute("name");
        //5.对比(页面==xml)
        if (provinceXmlValue == provinceElement) {
            //6.获取获取xml文件所有对应的province下的所有city标签
            var cityXmlElements = provinceXmlElement.getElementsByTagName("city");
            //7.遍历city标签
            for (var j = 0; j < cityXmlElements.length; j++) {
                var cityXmlElement = cityXmlElements[j];
//              var cityXmlValue = cityXmlElement.fistChild.nodeValue;
				var cityXmlValue = cityXmlElement.text;
                //8.增加city值
                var optionElement = document.createElement("option");
                optionElement.setAttribute("value", cityXmlValue);
                var text = document.createTextNode(cityXmlValue);
                optionElement.appendChild(text);
                cityElement.appendChild(optionElement);
            }
        }
    }
}
			
    </script>
</html>

 

四、XML DOM 操作 XML文档

    XML DOM中创建节点,删除节点,移动节点,读写节点数据等操作与HTML DOM的操作相同

 

 

0
0
分享到:
评论

相关推荐

    DOM解析XML文件例子

    在这个例子中,我们将深入探讨如何使用DOM解析XML文件,以理解和掌握XML文档的结构,并进行数据提取、修改和创建。 首先,XML(Extensible Markup Language)是一种标记语言,用于存储和传输数据,具有自描述性和...

    DOM解析XML 创建XML

    下面我们将深入探讨DOM解析XML以及如何创建XML。 DOM解析XML的过程分为以下几个步骤: 1. **加载XML文档**:首先,我们需要通过DOM解析器加载XML文档。在JavaScript中,可以使用`DOMParser`对象的`parseFromString...

    IE下使用XML DOM解析XML文件(ASP.NET Web)

    总结,IE下的XML DOM解析涉及使用ActiveXObject创建DOM对象,加载XML文件,然后通过DOM API遍历和操作XML结构。在ASP.NET Web环境中,通常需要结合服务器端和客户端代码协同工作,确保数据的正确传输和解析。理解并...

    FireFox下用XML DOM解析XML文档(ASP.NET Web)

    本文将详细讲解如何在Firefox下利用XML DOM解析XML文档。 首先,理解XML DOM的概念是至关重要的。XML DOM是一种W3C标准,它定义了一个统一的、平台和语言无关的接口,允许程序和脚本动态地访问和更新XML文档的结构...

    xmldom.zip

    这个问题的出现主要是因为Egret引擎默认不包含XML解析的支持,因此需要额外引入XMLDOM库来解决。本文将深入探讨如何处理这个情况,以及XMLDOM在Egret中的应用。 XML(Extensible Markup Language)是一种用于存储和...

    javascript 对xml文件解析

    如果是(通常指 Internet Explorer 浏览器),则创建一个新的 `Microsoft.XMLDOM` 对象来加载指定路径的 XML 文件,并返回这个对象。此方法仅适用于 IE 浏览器。 ##### 2. **使用 XMLHttpRequest (其他浏览器)** -...

    Microsoft_XMLDOM帮助

    XMLDOM是微软提供的一个接口,它允许程序员通过JavaScript、VBScript或其他支持COM的编程语言来处理XML文档。这个接口为XML文档提供了结构化的表示,使得开发者可以轻松地读取、修改、创建和保存XML数据。XMLDOM是...

    xmldom解析

    在这个主题中,“xmldom解析”主要涉及在服务器端和客户端使用DOM解析XML数据的技术。 1. **DOM解析原理**: - DOM解析器将XML文档转化为内存中的树形结构,称为DOM树。每个节点代表XML文档的一部分,如元素、属性...

    DOMParser解析xml

    DOMParser是JavaScript中处理XML文档的主要工具,它允许我们将XML数据转换为DOM(Document Object Model)对象,从而方便我们通过编程方式访问和操作XML内容。 DOM是一种树型结构,将XML文档中的每个元素、属性和...

    Xml之DOM解析--学生成绩管理系统

    在“Xml之DOM解析--学生成绩管理系统”中,我们主要探讨如何使用DOM解析器来读取、处理和更新XML文件,以实现一个简单的学生成绩管理系统的功能。首先,我们需要理解DOM解析的基本流程: 1. **加载XML文档**:使用...

    javascript 操作xml_dom对象整理集合

    综上所述,JavaScript操作XML DOM对象涉及到了从解析XML到动态操作文档的各个层面,同时结合JavaScript技巧,可以实现高效、灵活的Web应用开发。通过不断学习和实践,开发者能更好地驾驭这个强大的工具集。

    【学习 XML DOM】.pdf

    DOM 将XML文档解析成一个树形结构,每个组成部分都称为一个节点。理解XML DOM对于有效地处理XML至关重要。 XML DOM 简介: XML DOM 提供了一种平台和语言中立的接口,允许开发者通过编程方式访问和修改XML文档的...

    XMLDOM对象方法手册

    XMLDOM(XML Document Object Model)是微软开发的一种用于处理XML文档的接口,它允许程序员通过JavaScript或其他脚本语言在浏览器环境中动态地访问和修改XML数据。这篇“XMLDOM对象方法手册”提供了关于如何利用XML...

    dom解析xml BS结构

    总结起来,"dom解析xml BS结构"主要涉及到在浏览器环境中,使用DOM解析XML数据,通过JavaScript操作XML节点,实现数据的动态展示和交互。这要求开发者熟悉DOM API、XMLHttpRequest或fetch API,以及可能的XML与JSON...

    XMLDOM对象方法中文手册chm

    这个"XMLDOM对象方法中文手册chm"提供了关于XML DOM在中文环境下的详细指南,对于理解和应用XML DOM技术至关重要。 1. **XML DOM基本概念** - DOM是一种与平台和语言无关的接口,它将XML文档解析为一个树形结构,...

    XML DWR 解析dom 解析xml Ajax 杂乱的例子

    DOM解析会将整个XML文档加载到内存中,形成一棵DOM树,允许随机访问任何节点。而SAX解析则是一种事件驱动的解析方式,逐行读取文档,只在遇到特定事件(如开始元素、结束元素等)时触发回调函数,适用于处理大型XML...

    DOM解析XML文档

    2. 动态网页:在JavaScript中,DOM解析XML用于动态更新网页内容,实现交互功能。 3. 应用程序接口:许多应用程序(如Web服务、桌面应用)使用DOM解析XML作为数据输入和输出的手段。 总之,DOM解析XML文档是编程中...

    xml解析之DOM

    这篇博客文章深入探讨了XML的DOM解析方法,下面我们将详细讲解这个主题。 DOM解析是处理XML文档的一种常见方式,它将整个XML文件加载到内存中形成一个对象模型,然后可以通过这个模型进行查找、修改和遍历文档。在...

    使用javascript解析xml文件或xml格式字符串中文WORD版

    javascript中,不论是解析xml文件,还是xml格式的字符串,都是通过DOM对象来进行操作的。希望本文档会给有需要的朋友带来帮助;感兴趣的朋友可以过来看看   资源截图: 资源太大,传百度网盘了,链接...

Global site tag (gtag.js) - Google Analytics