第一种方案:
代码如下 | 复制代码 |
<script type="text/javascript"> $(document).ready(function() { $.ajax({ url: '/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"> |
第二种方案:
代码如下 | 复制代码 |
<script type="text/javascript"> $.get("/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"> |
一般步骤如下:
代码如下 | 复制代码 |
$.get("xmlfile.xml",function(xml){ //xml即为可以读取使用的内容,具体读取见第2点 }); |
2. 读取xml内容
如果读取的xml是来于xml文件,这结合上面的那点,处理如下:
代码如下 | 复制代码 |
$.get("xmlfile.xml",function(xml){ //xml即为可以读取使用的内容,具体读取见第2点 }); |
如果读取的是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();//读取子节点的值 }); |
下面看个简单实例
代码如下 | 复制代码 |
XMLFile.xml <?xml version="1.0" encoding="utf-8" ?> jqXmlFirst.aspx <%@ Page Language="C#" AutoEventWireup="true" CodeFile="jqXmlFirst.aspx.cs" Inherits="jqueryXml_jqXmlFirst" %> |