【问题标题】:using jquery to parse XML使用 jquery 解析 XML
【发布时间】:2011-03-08 15:17:16
【问题描述】:

我需要使用 jquery 来解析使用视图数据源模块创建的 drupal xml 导出。 xml 导出的格式如下所示,在浏览器上,通过输入例如http://mydomain/test.xml 进行访问,其中 test.xml 表示 xml 导出的路径。

 <node> 
     <node> 
         <nothing>
            Lorem ipsum 
        </nothing>
      </node>
<node> 

解析xml的jquery如下所示。但是,它什么也没做,这是主要问题。

$(document).ready(function(){ 
    $.ajax({
        type: "GET", 
        url: "http://mydomain/test.xml",
        dataType: "xml", 
        success: function(xml){ 
            $(xml).find('node').each(function(){ 
                var title = $(this).find('nothing').text();  
             $('#output').append($(this).find('nothing').text());           
            });
        }
    });
});

【问题讨论】:

    标签: jquery xml ajax drupal-6 drupal-views


    【解决方案1】:

    确保输出目标确实存在,并且具有“输出”的 ID。除此之外,我不确定您的问题可能是什么,但我会添加一些调试语句以确保您的 ajax 调用甚至成功。

    【讨论】:

    • Maclean,感谢您的回复..我实际上下载了模块创建的 xml,然后创建了嵌入上述 jquery 的 html 文件,它工作正常。但是我仍然对为什么它不适用于drupal感到困惑。也许我应该指出,上面的 jquery 代码实际上作为 test.js 嵌入到我的 drupal 站点中。我对drupal很陌生,但这是否意味着我必须创建一个模板文件或其他东西才能真正看到更改,因为前面指定的mydomain/test.xml只显示xml
    • 无论您在哪个页面上拥有该文档就绪代码,都应该加载 ajax 调用。通过添加 alert('jQuery'); 确保 jQuery 已正确安装在页面上;到该文档就绪功能。如果你收到警报,则显示 jQuery 已成功加载,实际上还有另一个问题。
    • alert('jQuery') 适用于网站的每个页面,证明 jquery 已正确安装。但是,当我导航到在站点内创建 xml 导出的路径时,警报功能不起作用,这是有道理的,看到页面上的所有内容都是 xml 文档
    • alert() 是一个 javascript 函数,只有将它放在 $(document).ready(function(){}) 中才会告诉我们是否安装了 jQuery。我对 Drupal 不够熟悉,无法知道您尝试访问页面的位置,但是直接导航到 .xml 页面显然不会产生您想要实现的目标。
    猜你喜欢
    • 2011-02-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-15
    • 2012-04-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多