JQuery解析HTML、JSON和XML实例详解


Posted in Javascript onMarch 29, 2014

1、HTML

有的时候会将一段HTML片段保存在HTML文件中,在另外的主页面直接读取该HTML文件,然后解析里面的HTML代码片段融入到主页面中。

fragment.html文件,其内容:

<div>hello Jquery</div>

在主页面
Test.html中解析代码

$("#a1").click(function(){  

   $("#div2").load('fragment.html');  

   return false;  

});[code]
2、JSON
JSON文件是test.json,其内容:

[code]

[{"name":"jim","age":"20"},{"name":"lily","age":"18","hobby":["swim","movie"]}]

在主页面
Test.html中解析代码

$("#a2").click(function(){  

        $.getJSON('test.json',function(data){  

            var html = '<table>';  

            $.each(data,function(entryIndex,entry){  

                html += '<tr><td>'+entry.name+'</td><td>'+entry.age+'</td>';  

                if(entry.hobby){  

                    html += '<td>';  

                    $.each(entry.hobby, function(lineindex,line) {  

                        html += line+",";  

                    });  

                    html += '</td>';  

                }  

                  

                html += '</tr>';  

            });  

            html += '</table>';  

            $("#div2").html(html);  

            return false;  

       });  

    }); 

3、XML
XML文件是test.xml,其内容是:
<?xml version="1.0" encoding="utf-8" ?>  

<root>  

    <book id="1">  

        <name>深入浅出extjs</name>  

        <author>张三</author>  

        <price>88</price>  

    </book>  

    <book id="2">  

        <name>锋利的jQuery</name>  

        <author>李四</author>  

        <price>99</price>  

    </book>  

    <book id="3">  

        <name>深入浅出flex</name>  

        <author>王五</author>  

        <price>108</price>  

    </book>  

    <book id="4">  

        <name>java编程思想</name>  

        <author>钱七</author>  

        <price>128</price>  

    </book>  

</root> 

在主页面
Test.html中解析代码
$("#a3").click(function(){  

        $.get('test.xml',function(data){  

            var s="";  

            $(data).find('book').each(function(i){  

                var id=$(this).attr('id');  

                var name=$(this).children('name').text();  

                var author=$(this).children('author').text();  

                var price=$(this).children('price').text();  

                s+=id+"    "+name+"    "+author+"    "+price+"<br>";  

            });  

            $('#div2').html(s);  

        });  

    }); 

对JQuery解析不同文档做了一个Demo,Test.html的原码是
<html xmlns="http://www.w3.org/1999/xhtml">  

<head runat="server">  

    <title></title>  

    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">  

    <script type="text/javascript" src="jquery.js"></script>  

    <script type="text/javascript">  

    

 $(function(){  

    $("#a1").click(function(){  

       $("#div2").load('fragment.html');  

       return false;  

    });  

      

    $("#a2").click(function(){  

        $.getJSON('test.json',function(data){  

            var html = '<table>';  

            $.each(data,function(entryIndex,entry){  

                html += '<tr><td>'+entry.name+'</td><td>'+entry.age+'</td>';  

                if(entry.hobby){  

                    html += '<td>';  

                    $.each(entry.hobby, function(lineindex,line) {  

                        html += line+",";  

                    });  

                    html += '</td>';  

                }  

                  

                html += '</tr>';  

            });  

            html += '</table>';  

            $("#div2").html(html);  

            return false;  

       });  

    });$("#a3").click(function(){  

        $.get('test.xml',function(data){  

            var s="";  

            $(data).find('book').each(function(i){  

                var id=$(this).attr('id');  

                var name=$(this).children('name').text();  

                var author=$(this).children('author').text();  

                var price=$(this).children('price').text();  

                s+=id+"    "+name+"    "+author+"    "+price+"<br>";  

            });  

            $('#div2').html(s);  

        });  

    });  

});   

               

    </script>  

</head>  

<body>  

    <form id="form1" runat="server">  

    <ul id="div1">  

        <li><a id="a1" href="#">show html fragment</a></li>  

        <li><a id="a2" href="#">show json</a></li>  

        <li><a id="a3" href="#">show xml</a></li>  

    </ul>  

        <p>Show Content:</p>  

    <div id ="div2"></div>  

    </form>  

    <div>  

      

</div>  

</body>  

</html> 

利用FireFox浏览器打开该Test.html文件,效果如下

JQuery解析HTML、JSON和XML实例详解

点第一个超链接会在Show Content区域显示新插入的html片段

JQuery解析HTML、JSON和XML实例详解

点第二个超链接,会显示json数据:

JQuery解析HTML、JSON和XML实例详解

点第三个超链接,会显示xml数据:

JQuery解析HTML、JSON和XML实例详解

Javascript 相关文章推荐
javaScript 删除字符串空格多种方法小结
Oct 24 Javascript
JavaScript使用pop方法移除数组最后一个元素用法实例
Apr 06 Javascript
深入浅出分析javaScript中this用法
May 09 Javascript
javascript制作幻灯片(360度全景图片)
Jul 28 Javascript
js实现页面跳转的五种方法推荐
Mar 10 Javascript
JS库之Waypoints的用法详解
Sep 13 Javascript
Vue.js 表单控件操作小结
Mar 29 Javascript
详解Angular6.0使用路由步骤(共7步)
Jun 29 Javascript
详解Vue改变数组中对象的属性不重新渲染View的解决方案
Sep 21 Javascript
js实现随机抽奖
Mar 19 Javascript
vue组件入门知识全梳理
Sep 21 Javascript
wepy--用vantUI 实现上弹列表并选择相应的值操作
Nov 03 Javascript
JavaScript中使用ActiveXObject操作本地文件夹的方法
Mar 28 #Javascript
javascript修改IMG标签的src问题
Mar 28 #Javascript
JS将光标聚焦在文本最后的实现代码
Mar 28 #Javascript
JS通过分析userAgent属性来判断浏览器的类型及版本
Mar 28 #Javascript
JavaScript调用ajax获取文本文件内容实现代码
Mar 28 #Javascript
js如何调用qq互联api实现第三方登录
Mar 28 #Javascript
jQuery的3种请求方式$.post,$.get,$.getJSON
Mar 28 #Javascript
You might like
全国FM电台频率大全 - 17 湖北省
2020/03/11 无线电
解析CI的AJAX分页 另类实现方法
2013/06/27 PHP
PHP折半(二分)查找算法实例分析
2018/05/12 PHP
php连接mysql数据库最简单的实现方法
2019/09/24 PHP
Javascript - HTML的request类
2007/01/09 Javascript
javascript HTMLEncode HTMLDecode的完整实例(兼容ie和火狐)
2009/06/02 Javascript
用js实现控件的隐藏及style.visibility的使用
2013/06/14 Javascript
JS模拟酷狗音乐播放器收缩折叠关闭效果代码
2015/10/29 Javascript
JavaScript如何动态创建table表格
2020/08/02 Javascript
JS实现日期时间动态显示的方法
2015/12/07 Javascript
Vue声明式渲染详解
2017/05/17 Javascript
基于jQuery实现的单行公告活动轮播效果
2017/08/23 jQuery
10个最优秀的Node.js MVC框架
2017/08/24 Javascript
用node-webkit把web应用打包成桌面应用(windows环境)
2018/02/01 Javascript
详解nodejs http请求相关总结
2019/03/31 NodeJs
vue中created和mounted的区别浅析
2019/08/13 Javascript
Python实现ssh批量登录并执行命令
2016/10/25 Python
Python基于回溯法子集树模板解决野人与传教士问题示例
2017/09/11 Python
Python request设置HTTPS代理代码解析
2018/02/12 Python
python自动化报告的输出用例详解
2018/05/30 Python
Python提取支付宝和微信支付二维码的示例代码
2019/02/15 Python
python flask框架实现传数据到js的方法分析
2019/06/11 Python
python根据多个文件名批量查找文件
2019/08/13 Python
Python实现序列化及csv文件读取
2020/01/19 Python
Python任务调度模块APScheduler使用
2020/04/15 Python
Windows下Anaconda和PyCharm的安装与使用详解
2020/04/23 Python
Node.js 和 Python之间该选择哪个?
2020/08/05 Python
python pygame 愤怒的小鸟游戏示例代码
2021/02/25 Python
CSS3 flex布局之快速实现BorderLayout布局
2015/12/03 HTML / CSS
暇步士官网:Hush Puppies
2016/09/22 全球购物
Android面试宝典
2013/08/06 面试题
国际商务专业职业生涯规划书范文
2014/01/17 职场文书
成品库仓管员岗位职责
2014/04/06 职场文书
新年爱情寄语
2014/04/08 职场文书
安全保证书范文
2014/04/29 职场文书
JS监听Esc 键触发事键
2021/04/14 Javascript