2015-11-11 2 views
0

нужно разобрать XML и значение выборки конкретного тегомРазбор тегов в XML

Нам нужно отобразить только тег, где правильные слова помещаются - «спорт» и «крепят», которые появляются в теге <str name="word">WORD</str> в ниже XML

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], но его метания ошибка - пытался, поставив другие параметры, а также, но это не сработало!

Не могли бы вы предложить или посоветовать получить только слова, спортивные и защищенные в массиве.

+0

После успешного использования вы можете использовать $ (this) .find ('Str'). Text() и сохранить его в каком-то var. Он должен получать данные между тегами. – sagarthapa

+0

@sagarthapa Его приход пустой - я пробовал с $ (this) .find ('Str'). Text(), $ (this) .find ('str'). Text(), $ (this) .find (' word '). text() - Это не сработало !! – Debaditya

+0

hmm ... теперь попробуйте изменить успех: функция (данные) для успеха: function (xml) – sagarthapa

ответ

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"] 

Я надеюсь, что это то, что вы искали.

+0

@Debaditya - делает ли это решение выше, помогло вам – nshah143