【问题标题】:Parse custom XML schema with jQuery使用 jQuery 解析自定义 XML 模式
【发布时间】:2009-07-13 21:23:36
【问题描述】:

我从 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.

有什么想法吗?

【问题讨论】:

    标签: javascript jquery xsd


    【解决方案1】:

    我还没有测试过,但你有没有试过:

    $.ajax({
       type: "GET",
       url: "so.xml",
    
       dataType: "html",
    
        success: function(returnhtml){ 
        $(returnhtml).find("customer_details zipcode").each(function() {
            alert($(this).text());
        });
    }, etc.
    

    jQuery 的 context 参数需要一个 DOM 元素。

    如果您将dataType 设置为HTML,则returnhtml 将是根据jQuery's ajax() documentation 的HTML 字符串。如果它是 XML 字符串,则需要先让 jQuery 将其转换为可以使用的元素,然后再将其用作上下文。

    【讨论】:

      【解决方案2】:

      您可以使用$.parseXML

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2013-08-15
        • 1970-01-01
        • 2012-05-20
        • 2011-02-17
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多