Разбор пользовательской XML-схемы с помощью jQuery - PullRequest
3 голосов
/ 14 июля 2009

Я получаю данные пользовательской схемы из вызова AJAX, и мне нужно проанализировать их с помощью jQuery. Есть идеи как это сделать?

Вот XML:

<xsd:get_customer_summary_response xmlns:xsd="http://com/acmeco/ovm/cas/xsd">
  <xsd:customer_details>
    <typ:phone_number xmlns:typ="http://com/acmeco/ovm/cas/types">1.555.5553002</typ:phone_number>
    <typ:timezone xsi:nil="true" xmlns:typ="http://com/acmeco/ovm/cas/types" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/>
    <typ:zipcode xmlns:typ="http://com/acmeco/ovm/cas/types">3002</typ:zipcode>
...
  </xsd:customer_details>
</xsd:get_customer_summary_response>

А вот и вызов AJAX. Я могу анализировать обычный XML с помощью приведенного ниже, но не XSD.

   $.ajax({
       type: "GET",
       url: "so.xml",

       dataType: "html",

        success: function(returnhtml){ 
    $("customer_details", returnhtml).find("zipcode").each(function() {
        alert($(this).text());
    });
    }, etc.

Есть идеи?

Ответы [ 2 ]

0 голосов
/ 06 октября 2016

Вы можете использовать $.parseXML для этого.

success: function (returnhtml) { 
    var parsedXML = $.parseXML(returnhtml);
    $(parsedXML).find("zipcode").each(function() {
        alert($(this).text());
    });
}

https://jsfiddle.net/chukanov/jjt894dc/

0 голосов
/ 14 июля 2009

Я не проверял это, но вы пробовали:

$.ajax({
   type: "GET",
   url: "so.xml",

   dataType: "html",

    success: function(returnhtml){ 
    $(returnhtml).find("customer_details zipcode").each(function() {
        alert($(this).text());
    });
}, etc.

Аргумент context в jQuery ожидает элемент DOM.

returnhtml будет строкой HTML в соответствии с jQuery's ajax() documentation, если вы установите dataType в качестве HTML. Если это строка XML, вам нужно сначала преобразовать jQuery в элемент, с которым вы можете работать, прежде чем использовать его в качестве контекста.

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