【问题标题】:XML > jQuery readingXML > jQuery 阅读
【发布时间】:2013-01-24 19:11:29
【问题描述】:

如何使用 jQuery 读取这个 XML 文件? 使用“普通标签”没有问题,例如:<car>Mustang</car>

HTML/jQuery:

$(document).ready(function(){
$.get("AMA.xml", function(XMLArray){
$(XMLArray).find("dataset").each(function(){

var $myAMA = $(this);
var number = $myAMA.attr("article.plunumber");
var name = $myAMA.attr("article.name");
var price = $myAMA.attr("article.price").text();
$("#AMAContainer").append("<p>"+number+"<br>"+name+"<br>"+price+"</p>");
  });
 });
});

XML 文件:

<document name="screen">
   <section name="list">
        <dataset>
            <var key="type">article</var>
            <var key="article.number">1</var>
            <var key="article.name">Testname1</var>
            <var key="article.displayname"/>
            <var key="article.price">99,99</var>
            <var key="article.plunumber">1</var>
            <action key="STANDARD">bp1;</action>
        </dataset>
        <dataset>
            <var key="type">article</var>
            <var key="article.number">2</var>
            <var key="article.name">Testname2</var>
            <var key="article.price">88,88</var>
            <var key="article.plunumber">2</var>
            <action key="STANDARD">bp2;</action>
        </dataset>
    </section>
</document>

我完全不知道如何读取这些值。 我只需要三个(号码、名称、价格)。

【问题讨论】:

标签: jquery html xml arrays phrase


【解决方案1】:
var number = $myAMA.find('var[key="article.plunumber"]');

像对待 &lt;dataset&gt; 一样对待 &lt;var&gt;

【讨论】:

    【解决方案2】:

    您可以按属性选择元素,您只需要使用属性选择器或 filter() 函数等。

    $(document).ready(function () {
        $.get("AMA.xml", function (XMLArray) {
            var xml = $.parseXML(XMLArray);
            $(xml).find("dataset").each(function () {
                var number = $('[key="article.plunumber"]', this).text();
                var name = $('[key="article.name"]', this).text();
                var price = $('[key="article.price"]', this).text();
                $("#AMAContainer").append("<p>" + number + "<br>" + name + "<br>" + price + "</p>");
            });
        });
    });
    

    【讨论】:

    • Firefox 说:“TypeError:$.parseXML 不是函数”并且页面仍然是空白编辑:将 jquery 更新到 1.9.1,现在,FF 中不再有警报,页面仍然是空白 :(
    • 还是空白,不知道为什么.. [at]idrumgood:值显示为:[object Object] |谢谢!!
    • @HolgerFette - 是的,number 和 name 变量是 DOM 元素,所以输出为 [object, object]。如果你需要元素内容,你需要使用text() 或类似的东西,就像你在最后一个,price !把代码改成那个?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-03-13
    • 1970-01-01
    • 2011-04-04
    • 1970-01-01
    • 1970-01-01
    • 2016-04-27
    • 2013-03-22
    相关资源
    最近更新 更多