需求效果

  • 点击链接。当前页面载入xml文件并展示相应内容
  • 通过搜索框。搜索xml文件内节点数据。展示包括内容的节点数据

功能实现

Demo终于实现效果 http://loadxmldemo.coderfix.cn/

核心代码


String.prototype.replaceAll = function (s1, s2) {
return this.replace(new RegExp(s1, "gm"), s2);
} //查询和标签
function GetXmlByQuery(str) {
$.ajax({
url: "xmls/all.xml",
dataType: 'xml',
type: 'GET',
timeout: 2000,
error: function (xml) {
alert("载入XML 文件出错! ");
},
success: function (xml) {
var infos = "";
var title;
var img;
$(xml).find("page").each(function (i) {
title = $(this).attr("title");
img = $(this).attr("img");
if (str == "") {
str = $("#s").val();
}
if (title.toLowerCase().indexOf(str) >= 0) {
infos += "<li class='article-entry standard'>";
infos += "<h4>" + title + "</h4>";
infos += "<span class='article-meta'>" + $(this).text() + "</span>";
if (img != null) {
infos += "<img src='" + img + "' />";
}
infos += "</li>";
}
});
infos = infos.replaceAll("%t", "<br />");
$(".articles").html(infos);
}
});
} //Id传參,列表类
function GetXmlByType(tid) {
$.ajax({
url: "xmls/" + tid + ".xml",
dataType: 'xml',
type: 'GET',
timeout: 2000,
error: function (xml) {
alert("载入XML 文件出错!");
},
success: function (xml) {
var infos = "";
var type;
var title;
var img;
$(xml).find("page").each(function (i) {
type = $(this).attr("type");
title = $(this).attr("title");
img = $(this).attr("img");
if (type.toLowerCase().indexOf(tid) >= 0) {
infos += "<li class='article-entry standard'>";
infos += "<h4>" + title + "</h4>";
infos += "<span class='article-meta'>" + $(this).text() + "</span>";
if (img != null) {
infos += "<img width='150px' height='auto' src='" + img + "' />";
}
infos += "</li>";
}
});
infos = infos.replaceAll("%t", "<br />");
$(".articles").html(infos);
}
});
}

项目源代码

Github地址 https://github.com/diandianxiyu/loadxmldemo

【JavaScript】JS读取XML文件并进行搜索的更多相关文章

  1. Js读取XML文件为List结构

    习惯了C#的List集合,对于Javascript没有list 极为不舒服,在一个利用Js读取XML文件的Demo中,决定自己构建List对象,将数据存入List. 第一步,Js读取XML文件知识 X ...

  2. IE下JS读取xml文件示例代码

    JS读取xml文件具体步骤为:创建DOM对象.加载xml文件(仅适用于IE)附示例代码,感兴趣的朋友可以参考下,希望对大家有所帮助使用javascript脚本读取xml文件,这里暂只考虑IE浏览器st ...

  3. jQuery、JS读取xml文件里的内容(JS先通过document.implementation.createDocument方法将xml转换成document对象,jQuery将读取到的xml转成table)

    xml文件:test.xml <?xml version="1.0"?> <note> <to>George</to> <fr ...

  4. JS读取XML文件数据并以table显示数据(兼容IE火狐)

    先看xml文件: <?xml version="1.0" standalone="yes"?> <student> <stuinf ...

  5. js 读取xml文件

    读取xml文件 [原创 2007-6-20 17:35:37]     字号:大 中 小 js中读取xml文件,简单的例子: <html><head><script> ...

  6. js读取xml文件

    假设我们现在要读取下面的 info.xml 文件 <?xml version="1.0" encoding="gb2312"?> <root& ...

  7. [HTML]js读取XML文件并解析

    xml文件:test.xml <?xml version="1.0"?> <note> <to>George</to> <fr ...

  8. 使用javascript中读取Xml文件做成的一个二级联动菜单

    [html] view plaincopy <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> ...

  9. JavaScript 解析读取XML文档 实例代码(转)

    JavaScript解析读取XML文件,主要就是加载并解析XML文件,然后就可以测试解析的XML文件的内容,打印输出来. 在线演示:http://demo.jb51.net/js/2012/readx ...

随机推荐

  1. 安装FCIS问题汇总

    安装官网安装步骤时可能出现的问题: "/usr/bin/ld: cannot find -lopenblas" error 解决方案: apt install liblapack- ...

  2. UI设计四要素

    信息.样式.布局.交互. +层次: UI所有的工作都可以从这几个方面入手.

  3. Python的伪造数据库:Faker

    faker 是一个可以让你生成伪造数据的Python包,在软件需求.开发.测试过程中常常需要利用一些假数据来做测试,这种时候就可以使用 Faker 来伪造数据从而用来测试. 一.Faker安装 pip ...

  4. Spring框架系列(七)--Spring常用注解

    Spring部分: 1.声明bean的注解: @Component:组件,没有明确的角色 @Service:在业务逻辑层使用(service层) @Repository:在数据访问层使用(dao层) ...

  5. Python爬虫:抓取手机APP的数据

    摘要 大多数APP里面返回的是json格式数据,或者一堆加密过的数据 .这里以超级课程表APP为例,抓取超级课程表里用户发的话题. 1.抓取APP数据包 表单: 表单中包括了用户名和密码,当然都是加密 ...

  6. 基于springmvc、ajax,后台连接数据库的增删改查

    前言 前段时间在博客园上找了一个springmvc的例子,照着学了一下,算是对springmvc有了一个初步的了解,打一个基础,下面是链接.(我只看了博客,视频太耗时间了) 博客链接:http://w ...

  7. 我的ACM技能框架(自用)

    每次接触到新的知识就把它名字记下来,留给以后当纪念 2018.11 已经学会的 滚动数组,前缀和优化 对多维数组在空间复杂度上的降维优化     最长上升子序列 LIS问题,动态规划递推解决 最长不下 ...

  8. 转来的——python webdriver自动化测试初步印象——转来的

    python webdriver自动化测试初步印象 以下示例演示启动firefox,浏览google.com,搜索Cheese,等待搜索结果,然后打印出搜索结果页的标题 from selenium i ...

  9. BZOJ 3648 寝室管理

    [题解] GDOI2016 Day2T3 如果给出的数据是一棵树那么皆大欢喜直接点分治就好了,用树状数组维护大于x的数的个数.如果是一棵基环树,我们先断掉环上的一条边,然后跑点分治:再加上经过这条边的 ...

  10. hdu 1166敌兵布阵(线段树入门题)

    >>点击进入原题测试<< 思路:这两天在学线段树,这个题直接手敲一下线段树就行了,都没有用上懒人标记.入门题 cin,cout会超时,记得加std::ios::sync_wit ...