解析XML格式的标签

时间:2015-11-11 03:15:59

标签: javascript ajax xml solr xml-parsing

需要解析XML并获取特定标记的值

我们只需要显示正确放置了正确字词的标记 - “sports”和“secure”,它们出现在XML格式 <str name="word">WORD</str>

XML

<response>
    <lst name = "responseHeader">
        <int name status>0</int>
        <int name QTime>3</int>
    </lst>
    <result name="response",numFound="0",start="0"/>
    <lst name="spellcheck">
      <lst name="suggestions">
        <lst name="sporsts">
          <int name="numFound">1</int>
          <int name="startOffset">0</int>
          <int name="endOffset">5</int>
          <int name="origFreq">0</int>
          <arr name="suggestion">
            <lst>
              <str name="word">sports</str>
              <int name="freq">1</int>
            </lst>
          </arr>
        </lst>
        <lst name="secuer">
          <int name="numFound">1</int>
          <int name="startOffset">6</int>
          <int name="endOffset">17</int>
          <int name="origFreq">0</int>
          <arr name="suggestion">
            <lst>
              <str name="word">secure</str>
              <int name="freq">1</int>
            </lst>
          </arr>
        </lst>
      </lst>
      <bool name="correctlySpelled">false</bool>
    </lst>
</response>

目前,使用ajax通过调用ajax获取数据,如下所述: 在ajax电话中:

$.ajax({
   type: "GET",
   url: solrurl,
   dataType: "xml",
   cache: false,
   success: function(data) {
        console.log(data);
         },      
     error : function(data)
     { 
          alert(Contact the Solr Admin);
     }
});

尝试使用response.spellcheck.suggestions [0],但它的抛出错误 - 尝试通过放置其他参数,但它没有用!

任何人都可以建议或建议如何获得运动和安全的数组。

1 个答案:

答案 0 :(得分:1)

我已更新您的代码并进行了检查,但工作正常。

JQUERY

$(document).ready(function () {
    var Values = new Array();
    $.get("chckvar.php",{},function(xml){
        $("str",xml).each(function(i){
            Values.push($(this).text());
        });
        console.log(Values)
    });
});

在浏览器控制台窗口中,您可以将输出视为

["sports", "secure"]

我希望这就是你要找的东西。