用于解析XML的jQuery

时间:2013-04-08 10:42:50

标签: jquery xml xml-parsing

         <script>
            $(document).ready(function(){
            var xml = "<rss version='2.0'><channel><title>MyTitle</title></channel></rss>";
            var data = $.parseXML(xml);
            console.log(data);
            $(data).find('rss').each(function(){
            var name = $(this).attr('version');
            $('<div class="items"></div>').html('<a href="'+name+'"></a>').appendTo('#page-wrap');
            });
        });
    </script>
<body>
    <div id="page-wrap">
        </div>
</body>

上述代码有什么问题?我只是得到一个空白页面。它甚至不会超出var数据声明。

编辑:现在我将正确的xml传递给parseXML()但仍然没有结果。还缺少什么?

EDIT2:知道为什么下面的代码在Chrome浏览器上没有显示任何输出?虽然放在JSFiddle中的脚本和HTML代码会产生正确的结果。

EDIT3:使用jquery-1.9.0使它工作。感谢大家的帮助和支持。

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />

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

$(document).ready(function(){
            var xml = "<rss version='2.0'><channel><title>MyTitle</title></channel></rss>";
            var data = $.parseXML(xml);
            console.log(data);
            $(data).find('rss').each(function(){
            var name = $(this).attr('version');
            $('<div class="items"></div>').html('<a href="'+name+'">'+name+'</a>').appendTo('#page-wrap');
            });
        });

     </script>
</head>
<body>
    <div id="page-wrap"></div>
</body>
</html>

3 个答案:

答案 0 :(得分:3)

jquery docsparseXML的输入应该是格式良好的xml字符串,而不是文件位置

答案 1 :(得分:2)

您的浏览器进程无法直接打开文件系统中的文件,如果可能的话,这将是一个容易被利用的安全漏洞。

答案 2 :(得分:1)

你错了。

  1. 您正在寻找xml中实际不存在的节点method
  2. 什么是attr('name')?它属于谁?
  3. <a>标记确实将文本显示为链接。例如。 <a href="url">The Text</a>
  4. 最后,由于你附加了(包含在a中),我简化了你的代码。
  5. 请遵循以下小提琴:JS Fiddle to your code