zoukankan      html  css  js  c++  java
  • 【JavaScript】JS读取XML文件并进行搜索

    需求效果

    • 点击链接。当前页面载入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

  • 相关阅读:
    SQLite剖析之异步IO模式、共享缓存模式和解锁通知
    SQLite剖析之动态内存分配
    SQLite剖析之锁和并发控制
    SQLite剖析之临时文件、内存数据库
    SQLite剖析之数据类型
    关于Docker目录挂载的总结(一)
    docker常用命令
    玩转docker(一)
    go hello
    术语“go”不被识别为cmdlet,函数,脚本文件或可操作程序的名称
  • 原文地址:https://www.cnblogs.com/blfbuaa/p/7135796.html
Copyright © 2011-2022 走看看