JQuery与xml的组合谈
今天谈的是XML,学java的一定很了解这个,如果你在学校学java过来的,也许这些知识,你根本接触不到,
作为自学Java的我,可以说java是我的第一语言了,学习时间最长,实际运用却很少,唯一的好处就是面向
对像的概念了解到了。了解到了面向对像与面向过程的关系。这里当然不讨论这个话题,人的学习过程,其
实就是自我的突破过程,别人给的知识,永远都是哪样容易忘记,留不下任何痕迹。悟性很重要,启发性思维
,举一反三,要达到这种境界,可不要小看了哦。如果你还不懂得XML是什么就去补一下功课吧,毕竟这些在学
校里是很难学习得到的。只要你一踏进计算机的世界,自学,孤独就成了分不开的伴了。黑暗和夜也继日的
调试,重写,永不停息的敲写代码。我在学校里学的并不是java,种种原因,迫使自己学了它。从JSP中学到了
XML,扩展标记语言。别人都说XML是web应用中的世界性语言,其实我理解的并不是很深刻,是因为自己出道
很浅,项目经验不足所致。理解一样东西,能不能按其本身正确理解,其实很多时候,我们理解不正确,都是
原因我们自己还没有达到理解这种东西的境界。有人说知音难求,我能理解说这话人的心境,因为很多人的境
界等同不到他,自然理解不了你,知音真的是很难找的。当你利用不上某项东西的时候,你就永远发现不了
它的好处,你们同意这个观点吗?至少我现在同意,呵呵……
XML从一开始,我以为它只是Html的扩展,这有什么用呢?还学了文档类型定义,很多很多关于这方面
知识。有的时候我们会不会发现,知识很多,要用得到却很少,但是如果你不了解有这些知识,似乎又搞不出
什么东东来,我们时间很有限,不可能遍及所有知识并把它学懂学透。讲解这些东西,可能一两天也讲不完,
算了,我还是跳过吧。XML的定义我记不起来了。我只知道:
形如以下形式的就内容就被称之为XML文档:
<?xml version="1.0" encoding="utf-8"?>
<books>
<book name="js大全"></book>
<book name="js大全"></book>
<book name="js大全"></book>
<book name="js大全"></book>
</books>
这就是一个XML,不知道在看你承不承,反正我是认同了。如果你的英语够强,以上只有一个?需要加以解析
<?是文档声时,声明什么呢,声明了这个XML版本为1.0,文档的编码为utf-8,我不知道在这里可不可以大写,但
是我还是劝大写保持小写的习惯。以免不必要的麻烦。
我要说的,如今调用XML方便多了,我以前调用的时候,还要自己返回XMLRequest对像,如果版本不同,我还要
区分不同的web代理的类型。现在因为我们有了jquery,因为它里面已经替我们封装好了一切想好的调用。
下面用代码展示一下:
$(document).ready(function(){
loadXML();
});
var XML={
xml:null
};
function loadXML(){
$.ajax({
type: "GET",
url: "nav.xml",
dataType: "xml",
success: function (d) {
XML.xml=$(d);
var html="";
$(d).find("nav_1").each(function(i){
html+="<a id='"+$(this).attr("id")+"' href='"+$(this).attr("url")+"' onclick='reWHtml(this)'>";
html+=$(this).attr("title")+"</a>";
});
$("#ul_nav li").hide();
$("#ul_nav li").eq(0).show().html(html);
},
error:function(d){alert('err:'+d)}
})
}
function reWHtml(id){
var i=$(id).attr("id");
var p_i=eval($(id).parent().attr("name"));
var xml_o=XML.xml.find("[id="+i+"]");
var html="";
xml_o.children().each(function(i){
html+="<a id='"+$(this).attr("id")+"' href='"+$(this).attr("url")+"' onclick='reWHtml(this)'>";
html+=$(this).attr("title")+"</a>";
});
$("#ul_nav li").eq(p_i).show().html(html);
for(var j=3;j>p_i;j--){
$("#ul_nav li").eq(j).hide();
}
}
这是我写的一个XML的简单应用,做的一个四级导航。当然XML文档我会给大家:
XML文档内容:
<?xml version="1.0" encoding="utf-8" ?>
<nav>
<nav_1 title="吃喝56" url="javascript:;" id="1">
<nav_2 title="地方菜系1" url="javascript:;" id="11" >
<nav_3 title="家乡菜" url="javascript:;" id="111">
<nav_4 title="菜中菜" url="#" id="1111"></nav_4>
<nav_4 title="菜中菜" url="#" id="1111"></nav_4>
<nav_4 title="菜中菜" url="#" id="1111"></nav_4>
<nav_4 title="菜中菜" url="#" id="1111"></nav_4>
</nav_3>
<nav_3 title="家乡菜" url="javascript:;" id="112"></nav_3>
</nav_2>
<nav_2 title="地方菜系1" url="javascript:;" id="12" ></nav_2>
<nav_2 title="地方菜系1" url="javascript:;" id="13" ></nav_2>
<nav_2 title="地方菜系1" url="javascript:;" id="14" ></nav_2>
<nav_2 title="地方菜系1" url="javascript:;" id="15" ></nav_2>
</nav_1>
<nav_1 title="吃喝2" url="javascript:;" id="2">
<nav_2 title="地方菜系2" url="javascript:;" id="21">
<nav_3 title="湖南菜" url="javascript:;" id="211"></nav_3>
<nav_3 title="湖南菜" url="javascript:;" id="212"></nav_3>
<nav_3 title="湖南菜" url="javascript:;" id="213"></nav_3>
<nav_3 title="湖南菜" url="javascript:;" id="214"></nav_3>
</nav_2>
<nav_2 title="地方菜系2" url="javascript:;" id="22">
<nav_3 title="湖南菜2" url="javascript:;" id="221"></nav_3>
<nav_3 title="湖南菜2" url="javascript:;" id="222"></nav_3>
<nav_3 title="湖南菜2" url="javascript:;" id="223"></nav_3>
<nav_3 title="湖南菜2" url="javascript:;" id="224"></nav_3>
</nav_2>
<nav_2 title="地方菜系2" url="javascript:;" id="23"></nav_2>
<nav_2 title="地方菜系2" url="javascript:;" id="24"></nav_2>
<nav_2 title="地方菜系2" url="javascript:;" id="25"></nav_2>
<nav_2 title="地方菜系2" url="javascript:;" id="26"></nav_2>
</nav_1>
<nav_1 title="吃喝3" url="javascript:;" id="3">
<nav_2 title="地方菜系3" url="javascript:;" id="31"></nav_2>
<nav_2 title="地方菜系3" url="javascript:;" id="32"></nav_2>
<nav_2 title="地方菜系3" url="javascript:;" id="33"></nav_2>
<nav_2 title="地方菜系3" url="javascript:;" id="34"></nav_2>
</nav_1>
</nav>
形如这个内容一样,当点选nav_1,就会跳到nav_2,当点选nav_2,就会跳到nav_3,当你点选nav_1的时候,
刚才谈出的nav_3就会自动消失,因为你没点nav_2,当然我还要给出Html.
html:
<ul id="ul_nav">
<li name="1">
</li>
<li name="2">
</li>
<li name="3">
</li>
<li name="4">
</li>
</ul>
这个代码的意思就是一级菜单在name="1"里面,二级菜单会生成在2里面,依次类推,呵呵…………应该不
难理解吧。
就到这里了,余下的部分,自己去思考吧。如果你还实现不出来,可以QQ我:550703900
调用方法就不用再说了吧,祝各位顺顺利利,开开心心地学到东西。
交流平台:QQ:550703900;
欢迎加入我的论坛:http://dfutureworld.com/
我的专业博客地址:http://ideafuture.iteye.com/
分享到:
相关推荐
**jQuery 操作 XML 教程** 在这个教程中,我们将探讨如何使用 jQuery 处理 XML 数据。XML(可扩展标记语言)是一种用于存储和传输数据的标准格式,尤其在 Web 应用程序中广泛应用。jQuery 是一个轻量级的 ...
**jQuery 实现XML树形菜单**\n\n在网页开发中,树形菜单是一种常见的交互元素,用于组织和展示层次化的信息。jQuery 是一个广泛使用的JavaScript库,它提供了丰富的API来简化DOM操作,使得实现这样的功能变得更加...
当涉及到从XML文件中获取数据时,jQuery提供了一种简洁的API,使得开发者可以方便地处理XML文档。本篇文章将深入探讨如何使用jQuery来读取XML,并通过实例详细解析相关知识点。 一、jQuery.parseXML()函数 在...
**jQuery的JSON与XML转换** `jquery.json2xml.js` 脚本允许开发者将JSON对象转换为XML字符串。在JavaScript中,你可以通过创建一个JSON对象,然后调用这个插件的方法,将其转换成XML格式。这样可以方便地将JSON数据...
关于jq读取xml的,有需要的朋友可以下载。
在IT领域,尤其是在Web开发中,"JQuery 解析XML省市区县三级联动"是一个常见的需求,主要用于构建交互式的下拉菜单,使得用户在选择省份时,对应的市和县会根据所选省份动态加载。这样的功能可以提升用户体验,减少...
XML是一种数据存储格式,常用于分离数据内容与显示样式。在这个二级菜单中,XML文件(如menu.xml)可能包含了所有菜单项的结构和内容,如一级菜单和二级菜单的标题。JQuery可以通过Ajax调用来获取XML数据,然后解析...
在本项目中,XML文件可能包含了中国所有省份、城市和区县的详细信息,通过jQuery的Ajax功能异步加载,实现了与用户交互时的动态更新。 三级联动的效果意味着用户首先选择省份,然后在二级下拉菜单中看到与所选省份...
标题“Jquery xml2Json”指的是一个jQuery插件,它的主要功能是将XML数据转换成JSON对象。在Web应用程序中,尤其是在使用jQuery框架的时候,这样的转换工具非常实用,因为JavaScript和jQuery天生更擅长处理JSON结构...
封装JQUERY操作XML文档的函数 fnAIString2Xml fnAIXML2String fnAIAddXmlNode fnAIRemoveXMLNode fnAISetXMLNodeAttr fnAIFindXMLNode
jQuery提供了与DOM操作类似的API,如`find()`, `children()`, `attr()`, `text()`等,使得解析XML变得简单。以下是如何使用这些方法提取XML数据的例子: ```javascript function parseXML(xml) { $(xml).find(...
XML(Extensible Markup Language)通常用于结构化数据的存储和传输,而JSON则因为其轻量级和易于解析的特性,常用于前端与服务器之间的数据交互。 jQuery库作为JavaScript的一个强大框架,简化了DOM操作、事件处理...
1. **jQuery.parseXML()**:这是jQuery提供的一个静态方法,用于将XML字符串解析为DOM对象。例如: ```javascript var xmlString = "<root><node attr1='value1' attr2='value2'></node></root>"; var xmlDoc = ...
为了利用jQuery处理XML,我们需要理解如何通过Ajax技术与服务器进行异步通信。 **1. jQuery的`$.ajax()`方法** `$.ajax()`是jQuery的核心方法,用于执行异步HTTP(Ajax)请求。在处理XML时,我们可以设置`dataType...
这个"jquery+xml城市三级联动"项目是利用jQuery库和XML数据来实现这一功能的示例。jQuery是一个强大的JavaScript库,它简化了HTML文档遍历、事件处理、动画制作和Ajax交互。而XML(Extensible Markup Language)则是...
`jquery.xml2json.js`是一个jQuery插件,它的主要功能是将XML文档转换为JavaScript对象,即JSON格式。这个插件的使用非常简单,首先需要在项目中引入jQuery库和`jquery.xml2json.js`文件。例如: ```html ...
该插件的兼容性设计意味着它可以与jQuery的各个版本无缝集成,无论你的项目使用的是较旧还是较新的jQuery版本。 XML到JSON的转换过程中,"jquery-xmlToJson.js"首先会解析XML文档,识别其中的元素、属性和文本内容...
本主题将探讨如何利用jQuery解析XML文件,进而实现省市县三级联动的下拉框效果,这是一种常见的地理数据展示方式,常用于地址选择或者物流配送等场景。 首先,XML(Extensible Markup Language)是一种用于存储和...
jquery+xml 省份 城市 区域 三级联动菜单. 用id作为连接点,高效快速. IE与firefox测试通过. 可加载默认项 里面附带例子^ ^ PS: 测试时 IE或chrome 用户请不要直接双击执行,因为这样是物理路径,不能加载xml. 请放...