jquery检索顶级xml节点

时间:2016-02-09 06:42:26

标签: javascript jquery xml

我尝试使用jquery从以下xml中检索顶级'label'属性,并将其解析为没有运气的DOM对象。有关如何做到这一点的任何建议?我已经尝试过使用children(),parent()函数而没有运气 - 我得不到任何结果,或者最终将标签标签的所有实例都传回给我。

jquery的:

xml = $.parseXML(xmlString);
$xml = $(xml);

我通过$($xml).find('fields').each(function(){等遍历字段...... 但无法获得顶级label数据!

<customobject>
    <label>want this content</label>
    <fields>
        <label>foo</label>
        <attr1></attr1>
        <attr2></attr2>
    </fields>
    <fields>
        <label>foo2</label>
        <attr1></attr1>
        <attr2></attr2>
    </fields>
</customobject>

2 个答案:

答案 0 :(得分:0)

您可以查找label的{​​{1}}的孩子,如下所示。只需使用customobject即可返回所有find('label')元素

中的内容

&#13;
&#13;
label
&#13;
var xmlString = '<customobject><label>want this content</label><fields><label>foo</label><attr1></attr1><attr2></attr2></fields><fields><label>foo2</label><attr1></attr1><attr2></attr2></fields></customobject>';
var xml = $.parseXML(xmlString);
var $xml = $(xml);

alert($xml.find('customobject > label').text())
&#13;
&#13;
&#13;

答案 1 :(得分:0)

希望这会有所帮助

    var xml = "<customobject>"+
              "<label>want this content</label>"+
                "<fields>"+
                    "<label>foo</label>"+
                    "<attr1></attr1>"+
                    "<attr2></attr2>"+
                "</fields>"+
                "<fields>"+
                    "<label>foo2</label>"+
                    "<attr1></attr1>"+
                    "<attr2></attr2>"+
                "</fields>"+
            "</customobject>";

  xmlDoc = $.parseXML(xml ),
  $xml = $( xmlDoc ),
  $firstLabelbject = $xml.find( "customobject label")[0].innerHTML; // Will select first label
  console.log($firstLabelbject);

JSFIDDLE EXAMPLE