zoukankan      html  css  js  c++  java
  • JQuery解析XML数据的几个例子

    用JavaScript解析XML数据是常见的编程任务,JavaScript能做的,JQuery当然也能做。下面我们来总结几个使用JQuery解析XML的例子。

    第一种方案:

    <script type="text/javascript">
    $(document).ready(function() {
        $.ajax({
              url: 'http://www.nowamagic.net/cgi/test.xml',
              dataType: 'xml',
              success: function(data){
                  //console.log(data);
                 $(data).find("channel").find("item").each(function(index, ele) {
                    var titles = $(ele).find("title").text();
                    var links = $(ele).find("link").text();
                    console.log(titles+'-----');
                    $("#noticecon").find('ol').append('<li><a href="'+links+'">'+titles+'</a></li>');
                });
            }
        });
    }) 
    </script>
    
        <div id="noticecon">
            <ol>
            </ol>
        </div>

    第二种方案:

    <script type="text/javascript">
        $.get("http://www.nowamagic.net/cgi/test.xml", function(data){
            $(data).find('channel').find('item').each(function(index, ele){
                var titles = $(ele).find('title').text();
                var links = $(ele).find('link').text();
                $("#noticecon").find('ol').append('<li><a href="'+links+'">'+titles+'</a></li>');
            })
        });
    </script>
    
        <div id="noticecon">
            <ol>
            </ol>
        </div>

    一般步骤如下:

    1. 读取xml文件

    $.get("xmlfile.xml",function(xml){
        //xml即为可以读取使用的内容,具体读取见第2点
    });

    2. 读取xml内容

    如果读取的xml是来于xml文件,这结合上面的那点,处理如下:

    $.get("xmlfile.xml",function(xml){    
        $(xml).find("item").length;    
    });

    如果读取的是xml字符串,则要注意一点,xml字符串的必然被"<xml>"和"</xml>"包围才可以被解析

    $("<xml><root><item></item></root></xml>").find("item").length;

    解析xml内容:

    示例xml:

    <?xml version="1.0" encoding="utf-8" ?>
    <fields>
      <field Name="Name1">
        <fieldname>dsname</fieldname>
        <datatype>字符</datatype>
      </field>
      <field Name="Name2">
        <fieldname>dstype</fieldname>
        <datatype>字符</datatype>
      </field>
    </fields>

    以下是解析示例代码:

    $(xml).find("field").each(function() {
        var field = $(this);
        var fName = field.attr("Name");//读取节点属性
        var dataType = field.find("datatype").text();//读取子节点的值
    });
  • 相关阅读:
    20200601:百万级int数据量的一个array求和。
    20200602:千万级数据量的list找一个数据。
    20200531:假如Redis里面有1亿个key,其中有10w个key是以某个固定的已知的前缀开头的,如何将它们全部找出来?
    20200530:主从数据库不一致如何解决?
    [USACO06DEC]Milk Patterns G
    [HAOI2016]找相同字符
    [AHOI2013]差异
    [SCOI2012]喵星球上的点名
    [APIO2014]回文串
    [TJOI2015]弦论
  • 原文地址:https://www.cnblogs.com/kt520/p/3651781.html
Copyright © 2011-2022 走看看