0

嗨,我对 xml 解析有一些问题。所以 - 我想按数据从一些 xml 标签中读取数据。你能帮助我吗?这是我的代码。

    <data>
        <element name="name">Zook</element>
        <element name="image">img/icons/01/zook.png</element>
    </data>

和jQuery

$(this).find("element").each(function(){
    var name = $(this).attr("name");
    $("#div").html('<span>' + name + '</span>')
});
4

5 回答 5

1

只需通过此 链接即可 解释您需要的一切:)

$(xml).find("element").each(function()
 {
   $("#output").append($(this).attr("name") + "<br />");
 });
于 2012-07-27T13:28:13.853 回答
1

此示例代码将为您提取数据:

$.ajax({
   type: "GET",
   url: "path/to/your/xml.xml",
   dataType: "xml",
   success: function(xml){
   $(xml).find("element").each(function() {
          var name = $(this).find("name").text();
          var image = $(this).find("image").text();
          $("#div").html('<span>' + name + '</span>');
   });
});

不过,您将需要重组您的 xml,因为目前元素具有双重含义。简化此操作,使您的数据如下所示:

<data>
  <element>
    <image>path/to/img.ext</image>
    <name>Name</name>
  </element>
</data>

希望这可以帮助

于 2012-07-27T13:33:55.540 回答
0
var name = $(this).text();

应该让你的生活更轻松

于 2012-07-27T13:31:16.097 回答
0
$(xml).find("main_menu").each(function () {
    $(this).find("element").each(function(){
        var name = $(this).text();
        var image = $(this).text();

        $("#carousel_items").append('<span>' + name + '</span><span>' + image + '</span>')
    });
});

这就是我的代码现在的样子

于 2012-07-27T13:45:02.353 回答
0
$(xml).find("main_menu").each(function () {
    var name, image;

    $(this).find("element").each(function() {
        // make sure they default to what they originally were if null
        // since one <element> has name other has image
        name = ($(this).attr('name')) ? $(this).text() : name;
        image = ($(this).attr('image')) ? $(this).text() : image;
    });

    // Build the items once you've looped through the elements within a <data> section
    $("#carousel_items").append('<span>' + name + '</span><span>' + image + '</span>')
});
于 2012-07-27T14:13:44.130 回答