【发布时间】:2016-02-12 03:21:08
【问题描述】:
需要解析 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],但它的抛出错误 - 也尝试通过放置其他参数,但它不起作用!
任何人都可以建议或建议将运动和安全这两个词放在一个数组中。
【问题讨论】:
-
函数成功后,可以使用 $(this).find('Str').text() 并将其存储到某个 var 中。它应该在
标签之间获取数据。 -
@sagarthapa 它空了 - 我试过 $(this).find('Str').text() , $(this).find('str').text() , $ (this).find('word').text() - 没用!!
-
hmm...好吧,现在尝试将成功:函数(数据)更改为成功:函数(xml)
标签: javascript ajax xml solr xml-parsing