【问题标题】:Is there a way of getting xml data on a page?有没有办法在页面上获取 xml 数据?
【发布时间】:2012-11-02 05:26:16
【问题描述】:

我正在尝试将一些简单的 json 数据导入我的网站。我已经尝试过使用 ajax 和 json 的各种选项,但似乎没有什么能给我所需的结果。

我只需要数据请求,然后在成功时将结果附加到 div。该 url 是一个正确的 xml url,但即使我设置了它,它似乎也会给我错误。

任何不使用人们可以推荐的插件的方法?

干杯, 标记

编辑

我正在使用的代码:

$(document).ready(function(){
$.ajax({
    type: "GET",
    url: "http://www.granma.cu/ingles/granmai_ingl.xml",
    dataType: "xml",
    success: function(xml) {
        $(xml).find('item').each(function(){
            var id = $(this).attr('id');
            var title = $(this).find('title').text();
            var url = $(this).find('url').text();
            $('<div class="items" id="link_'+id+'"></div>').html('<a href="'+url+'">'+title+'</a>').appendTo('#cuban-news');
            $(this).find('desc').each(function(){
                var brief = $(this).find('brief').text();
                var long = $(this).find('long').text();
                $('<div class="brief"></div>').html(brief).appendTo('#link_'+id);
                $('<div class="long"></div>').html(long).appendTo('#link_'+id);
            });
        });
    }
});

});

【问题讨论】:

  • 你试过什么?你的代码在哪里?你有什么具体问题(即比“没有给我我需要的结果”更具体的问题。)?
  • 有效的 xml 不是有效的 html。使用 html 方法作为附加到 xml 数据将去除无效的 html 标签。
  • 根据我的尝试编辑了上面的代码

标签: javascript jquery ajax json xml-parsing


【解决方案1】:
 $.get('data.xml',function(data){
    // parse the data
 });

$.ajax({
type: "GET",
url: "record.xml", 
dataType: "xml",
success: function(xml){
    parseXML(xml); 
},
error: function(response, textStatus, errorThrown){ 
    console.log(textStatus, errorThrown);}
   });
});

function parseXML(xml) {
   $(xml).find('record').each(function () {
      var entry = new Object();
      entry.order= $(this).find('itemDesc').text();
      parsedList.push(entry);
   }
   send();
 }

在发送函数中,只需将文本附加到 div

【讨论】:

  • 它应该.. 当我在代码后面的 c# 中创建一个 xml 文件并将其发送回 js 时,我使用这个或 .post() .. 它应该没有任何不同,它仍然一个xml文件
  • coolio,我会试试的。我有相同的变化,但它不断抛出错误。
  • 只是一个简单的问题,它是 send($().append('
    '););
  • 如果这就是你想在你的函数中做的事情.. 基本上它的 ('whateverthecontaineris').append(
    );
猜你喜欢
  • 2018-07-12
  • 1970-01-01
  • 2016-08-14
  • 1970-01-01
  • 1970-01-01
  • 2019-09-29
  • 2013-09-26
  • 2020-12-13
  • 1970-01-01
相关资源
最近更新 更多