0

当我尝试显示 ajax 获取的 xml 数据时出现问题。数据来得很顺利,但是当我尝试将其解析为 xml 时,它失败了。这是代码:我试图显示序列化的 xml 数据,它运行良好,解析有问题......

<script type="text/javascript">
    $.ajax({
        url: 'Flights.xml',
        type: 'GET',
        dataType: 'xml',
        timeout: 1000,
        error: function () {
            alert('Error loading XML document');
        },
        success: function (data) {
            //data.xml check for IE
            //            var xmlstr = data.xml ? data.xml : ;
            //            alert(xmlstr);
            var xmlstr = data.xml ? data.xml : (new XMLSerializer()).serializeToString(data);
            var xmlDoc = StringtoXML(xmlstr);
            var x = xmlDoc.getElementsByTagName("Flight");
            var y = document.write(x[i].getElementsByTagName("Type")[0].childNodes[0].nodeValue);
            alert(y);
        }
    });
    function StringtoXML(text) {
        if (window.ActiveXObject) {
            var doc = new ActiveXObject('Microsoft.XMLDOM');
            doc.async = 'false';
            doc.loadXML(text);
        } else {
            var parser = new DOMParser();
            var doc = parser.parseFromString(text, 'text/xml');
        }
        return doc;
    }

</script>

这里是 XML 文件

<?xml version="1.0"?>
<Flights>
  <Flight ID="0">
    <Type>SpecialKazakhstan</Type>
    <Discription>СпециальныйтарифэкономическогоклассасограничениямиДополнительнаяинформация</Discription>
    <minimanPrice>47917KZT</minimanPrice>
  </Flight>
  <Flight ID="1">
    <Type>FlexibleKazakhstan</Type>
    <Discription>Специальныйтарифэкономическогоклассасвозможностьюбесплатногоперебронированиядоотправления.Дополнительнаяинформация</Discription>
    <minimanPrice>52397KZT</minimanPrice>
  </Flight>
  <Flight ID="2">
    <Type>Fullflexible</Type>
    <Discription>НормальныйтарифэкономическогоклассабезограниченийДополнительнаяинформация</Discription>
    <minimanPrice>56267KZT</minimanPrice>
  </Flight>
  <Flight ID="3">
    <Type>BusinessKazakhstan</Type>
    <Discription>НормальныйтарифбизнесклассаснекоторымиограничениямиДополнительнаяинформация</Discription>
    <minimanPrice>89557KZT</minimanPrice>
  </Flight>
  <Flight ID="4">
    <Type>Business</Type>
    <Discription>Нормальныйтарифбизнесклассабезограничений.ПочувствуйтенастоящийкомфортДополнительнаяинформация</Discription>
    <minimanPrice>98345KZT</minimanPrice>
  </Flight>
  <Flight ID="5">
    <Type>SpecialKazakhstan</Type>
    <Discription>СпециальныйтарифэкономическогоклассасограничениямиДополнительнаяинформация</Discription>
    <minimanPrice>47917KZT</minimanPrice>
  </Flight>
  <Flight ID="6">
    <Type>FlexibleKazakhstan</Type>
    <Discription>Специальныйтарифэкономическогоклассасвозможностьюбесплатногоперебронированиядоотправления.Дополнительнаяинформация</Discription>
    <minimanPrice>52397KZT</minimanPrice>
  </Flight>
  <Flight ID="7">
    <Type>Fullflexible</Type>
    <Discription>НормальныйтарифэкономическогоклассабезограниченийДополнительнаяинформация</Discription>
    <minimanPrice>56267KZT</minimanPrice>
  </Flight>
  <Flight ID="8">
    <Type>BusinessKazakhstan</Type>
    <Discription>НормальныйтарифбизнесклассаснекоторымиограничениямиДополнительнаяинформация</Discription>
    <minimanPrice>89557KZT</minimanPrice>
  </Flight>
  <Flight ID="9">
    <Type>Business</Type>
    <Discription>Нормальныйтарифбизнесклассабезограничений.ПочувствуйтенастоящийкомфортДополнительнаяинформация</Discription>
    <minimanPrice>98345KZT</minimanPrice>
  </Flight>
  <Flight ID="10">
    <Type>SpecialKazakhstan</Type>
    <Discription>СпециальныйтарифэкономическогоклассасограничениямиДополнительнаяинформация</Discription>
    <minimanPrice>47917KZT</minimanPrice>
  </Flight>
  <Flight ID="54">
    <Type>Business</Type>
    <Discription>Нормальныйтарифбизнесклассабезограничений.ПочувствуйтенастоящийкомфортДополнительнаяинформация</Discription>
    <minimanPrice>98345KZT</minimanPrice>
  </Flight>
  <Flight ID="55">
    <Type>SpecialKazakhstan</Type>
    <Discription>СпециальныйтарифэкономическогоклассасограничениямиДополнительнаяинформация</Discription>
    <minimanPrice>47917KZT</minimanPrice>
  </Flight>
  <Flight ID="56">
    <Type>FlexibleKazakhstan</Type>
    <Discription>Специальныйтарифэкономическогоклассасвозможностьюбесплатногоперебронированиядоотправления.Дополнительнаяинформация</Discription>
    <minimanPrice>52397KZT</minimanPrice>
  </Flight>
  <Flight ID="57">
    <Type>Fullflexible</Type>
    <Discription>НормальныйтарифэкономическогоклассабезограниченийДополнительнаяинформация</Discription>
    <minimanPrice>56267KZT</minimanPrice>
  </Flight>
  <Flight ID="58">
    <Type>BusinessKazakhstan</Type>
    <Discription>НормальныйтарифбизнесклассаснекоторымиограничениямиДополнительнаяинформация</Discription>
    <minimanPrice>89557KZT</minimanPrice>
  </Flight>
  <Flight ID="59">
    <Type>Business</Type>
    <Discription>Нормальныйтарифбизнесклассабезограничений.ПочувствуйтенастоящийкомфортДополнительнаяинформация</Discription>
    <minimanPrice>98345KZT</minimanPrice>
  </Flight>
  <Flight ID="60">
    <Type>SpecialKazakhstan</Type>
    <Discription>СпециальныйтарифэкономическогоклассасограничениямиДополнительнаяинформация</Discription>
    <minimanPrice>47917KZT</minimanPrice>
  </Flight>
  <Flight ID="61">
    <Type>FlexibleKazakhstan</Type>
    <Discription>Специальныйтарифэкономическогоклассасвозможностьюбесплатногоперебронированиядоотправления.Дополнительнаяинформация</Discription>
    <minimanPrice>52397KZT</minimanPrice>
  </Flight>
  <Flight ID="62">
    <Type>Fullflexible</Type>
    <Discription>НормальныйтарифэкономическогоклассабезограниченийДополнительнаяинформация</Discription>
    <minimanPrice>56267KZT</minimanPrice>
  </Flight>
  <Flight ID="63">
    <Type>BusinessKazakhstan</Type>
    <Discription>НормальныйтарифбизнесклассаснекоторымиограничениямиДополнительнаяинформация</Discription>
    <minimanPrice>89557KZT</minimanPrice>
  </Flight>
  <Flight ID="64">
    <Type>Business</Type>
    <Discription>Нормальныйтарифбизнесклассабезограничений.ПочувствуйтенастоящийкомфортДополнительнаяинформация</Discription>
    <minimanPrice>98345KZT</minimanPrice>
  </Flight>
  <Flight ID="65">
    <Type>SpecialKazakhstan</Type>
    <Discription>СпециальныйтарифэкономическогоклассасограничениямиДополнительнаяинформация</Discription>
    <minimanPrice>47917KZT</minimanPrice>
  </Flight>
  <Flight ID="66">
    <Type>FlexibleKazakhstan</Type>
    <Discription>Специальныйтарифэкономическогоклассасвозможностьюбесплатногоперебронированиядоотправления.Дополнительнаяинформация</Discription>
    <minimanPrice>52397KZT</minimanPrice>
  </Flight>
  <Flight ID="67">
    <Type>Fullflexible</Type>
    <Discription>НормальныйтарифэкономическогоклассабезограниченийДополнительнаяинформация</Discription>
    <minimanPrice>56267KZT</minimanPrice>
  </Flight>
  <Flight ID="68">
    <Type>BusinessKazakhstan</Type>
    <Discription>НормальныйтарифбизнесклассаснекоторымиограничениямиДополнительнаяинформация</Discription>
    <minimanPrice>89557KZT</minimanPrice>
  </Flight>
  <Flight ID="69">
    <Type>Business</Type>
    <Discription>Нормальныйтарифбизнесклассабезограничений.ПочувствуйтенастоящийкомфортДополнительнаяинформация</Discription>
    <minimanPrice>98345KZT</minimanPrice>
  </Flight>
  <Flight ID="70">
    <Type>SpecialKazakhstan</Type>
    <Discription>СпециальныйтарифэкономическогоклассасограничениямиДополнительнаяинформация</Discription>
    <minimanPrice>47917KZT</minimanPrice>
  </Flight>
  <Flight ID="71">
    <Type>FlexibleKazakhstan</Type>
    <Discription>Специальныйтарифэкономическогоклассасвозможностьюбесплатногоперебронированиядоотправления.Дополнительнаяинформация</Discription>
    <minimanPrice>52397KZT</minimanPrice>
  </Flight>
  <Flight ID="72">
    <Type>Fullflexible</Type>
    <Discription>НормальныйтарифэкономическогоклассабезограниченийДополнительнаяинформация</Discription>
    <minimanPrice>56267KZT</minimanPrice>
  </Flight>
  <Flight ID="73">
    <Type>BusinessKazakhstan</Type>
    <Discription>НормальныйтарифбизнесклассаснекоторымиограничениямиДополнительнаяинформация</Discription>
    <minimanPrice>89557KZT</minimanPrice>
  </Flight>
  <Flight ID="74">
    <Type>Business</Type>
    <Discription>Нормальныйтарифбизнесклассабезограничений.ПочувствуйтенастоящийкомфортДополнительнаяинформация</Discription>
    <minimanPrice>98345KZT</minimanPrice>
  </Flight>
  <Flight ID="75">
    <Type>SpecialKazakhstan</Type>
    <Discription>СпециальныйтарифэкономическогоклассасограничениямиДополнительнаяинформация</Discription>
    <minimanPrice>47917KZT</minimanPrice>
  </Flight>
  <Flight ID="76">
    <Type>FlexibleKazakhstan</Type>
    <Discription>Специальныйтарифэкономическогоклассасвозможностьюбесплатногоперебронированиядоотправления.Дополнительнаяинформация</Discription>
    <minimanPrice>52397KZT</minimanPrice>
  </Flight>
  <Flight ID="77">
    <Type>Fullflexible</Type>
    <Discription>НормальныйтарифэкономическогоклассабезограниченийДополнительнаяинформация</Discription>
    <minimanPrice>56267KZT</minimanPrice>
  </Flight>
  <Flight ID="78">
    <Type>BusinessKazakhstan</Type>
    <Discription>НормальныйтарифбизнесклассаснекоторымиограничениямиДополнительнаяинформация</Discription>
    <minimanPrice>89557KZT</minimanPrice>
  </Flight>
  <Flight ID="79">
    <Type>Business</Type>
    <Discription>Нормальныйтарифбизнесклассабезограничений.ПочувствуйтенастоящийкомфортДополнительнаяинформация</Discription>
    <minimanPrice>98345KZT</minimanPrice>
  </Flight>
  <Flight ID="80">
    <Type>SpecialKazakhstan</Type>
    <Discription>СпециальныйтарифэкономическогоклассасограничениямиДополнительнаяинформация</Discription>
    <minimanPrice>47917KZT</minimanPrice>
  </Flight>
  <Flight ID="81">
    <Type>FlexibleKazakhstan</Type>
    <Discription>Специальныйтарифэкономическогоклассасвозможностьюбесплатногоперебронированиядоотправления.Дополнительнаяинформация</Discription>
    <minimanPrice>52397KZT</minimanPrice>
  </Flight>
  <Flight ID="82">
    <Type>Fullflexible</Type>
    <Discription>НормальныйтарифэкономическогоклассабезограниченийДополнительнаяинформация</Discription>
    <minimanPrice>56267KZT</minimanPrice>
  </Flight>
  <Flight ID="83">
    <Type>BusinessKazakhstan</Type>
    <Discription>НормальныйтарифбизнесклассаснекоторымиограничениямиДополнительнаяинформация</Discription>
    <minimanPrice>89557KZT</minimanPrice>
  </Flight>
  <Flight ID="84">
    <Type>Business</Type>
    <Discription>Нормальныйтарифбизнесклассабезограничений.ПочувствуйтенастоящийкомфортДополнительнаяинформация</Discription>
    <minimanPrice>98345KZT</minimanPrice>
  </Flight>
  <Flight ID="85">
    <Type>SpecialKazakhstan</Type>
    <Discription>СпециальныйтарифэкономическогоклассасограничениямиДополнительнаяинформация</Discription>
    <minimanPrice>47917KZT</minimanPrice>
  </Flight>
  <Flight ID="86">
    <Type>FlexibleKazakhstan</Type>
    <Discription>Специальныйтарифэкономическогоклассасвозможностьюбесплатногоперебронированиядоотправления.Дополнительнаяинформация</Discription>
    <minimanPrice>52397KZT</minimanPrice>
  </Flight>
  <Flight ID="87">
    <Type>Fullflexible</Type>
    <Discription>НормальныйтарифэкономическогоклассабезограниченийДополнительнаяинформация</Discription>
    <minimanPrice>56267KZT</minimanPrice>
  </Flight>
  <Flight ID="88">
    <Type>BusinessKazakhstan</Type>
    <Discription>НормальныйтарифбизнесклассаснекоторымиограничениямиДополнительнаяинформация</Discription>
    <minimanPrice>89557KZT</minimanPrice>
  </Flight>
  <Flight ID="89">
    <Type>Business</Type>
    <Discription>Нормальныйтарифбизнесклассабезограничений.ПочувствуйтенастоящийкомфортДополнительнаяинформация</Discription>
    <minimanPrice>98345KZT</minimanPrice>
  </Flight>
  <Flight ID="90">
    <Type>SpecialKazakhstan</Type>
    <Discription>СпециальныйтарифэкономическогоклассасограничениямиДополнительнаяинформация</Discription>
    <minimanPrice>47917KZT</minimanPrice>
  </Flight>
  <Flight ID="91">
    <Type>FlexibleKazakhstan</Type>
    <Discription>Специальныйтарифэкономическогоклассасвозможностьюбесплатногоперебронированиядоотправления.Дополнительнаяинформация</Discription>
    <minimanPrice>52397KZT</minimanPrice>
  </Flight>
  <Flight ID="92">
    <Type>Fullflexible</Type>
    <Discription>НормальныйтарифэкономическогоклассабезограниченийДополнительнаяинформация</Discription>
    <minimanPrice>56267KZT</minimanPrice>
  </Flight>
  <Flight ID="93">
    <Type>BusinessKazakhstan</Type>
    <Discription>НормальныйтарифбизнесклассаснекоторымиограничениямиДополнительнаяинформация</Discription>
    <minimanPrice>89557KZT</minimanPrice>
  </Flight>
  <Flight ID="94">
    <Type>Business</Type>
    <Discription>Нормальныйтарифбизнесклассабезограничений.ПочувствуйтенастоящийкомфортДополнительнаяинформация</Discription>
    <minimanPrice>98345KZT</minimanPrice>
  </Flight>
  <Flight ID="95">
    <Type>SpecialKazakhstan</Type>
    <Discription>СпециальныйтарифэкономическогоклассасограничениямиДополнительнаяинформация</Discription>
    <minimanPrice>47917KZT</minimanPrice>
  </Flight>
  <Flight ID="96">
    <Type>FlexibleKazakhstan</Type>
    <Discription>Специальныйтарифэкономическогоклассасвозможностьюбесплатногоперебронированиядоотправления.Дополнительнаяинформация</Discription>
    <minimanPrice>52397KZT</minimanPrice>
  </Flight>
  <Flight ID="97">
    <Type>Fullflexible</Type>
    <Discription>НормальныйтарифэкономическогоклассабезограниченийДополнительнаяинформация</Discription>
    <minimanPrice>56267KZT</minimanPrice>
  </Flight>
  <Flight ID="98">
    <Type>BusinessKazakhstan</Type>
    <Discription>НормальныйтарифбизнесклассаснекоторымиограничениямиДополнительнаяинформация</Discription>
    <minimanPrice>89557KZT</minimanPrice>
  </Flight>
  <Flight ID="99">
    <Type>Business</Type>
    <Discription>Нормальныйтарифбизнесклассабезограничений.ПочувствуйтенастоящийкомфортДополнительнаяинформация</Discription>
    <minimanPrice>98345KZT</minimanPrice>
  </Flight>
  <Flight ID="100">
    <Type>SpecialKazakhstan</Type>
    <Discription>СпециальныйтарифэкономическогоклассасограничениямиДополнительнаяинформация</Discription>
    <minimanPrice>47917KZT</minimanPrice>
  </Flight>
  <Flight ID="101">
    <Type>FlexibleKazakhstan</Type>
    <Discription>Специальныйтарифэкономическогоклассасвозможностьюбесплатногоперебронированиядоотправления.Дополнительнаяинформация</Discription>
    <minimanPrice>52397KZT</minimanPrice>
  </Flight>
  <Flight ID="102">
    <Type>Fullflexible</Type>
    <Discription>НормальныйтарифэкономическогоклассабезограниченийДополнительнаяинформация</Discription>
    <minimanPrice>56267KZT</minimanPrice>
  </Flight>
  <Flight ID="103">
    <Type>BusinessKazakhstan</Type>
    <Discription>НормальныйтарифбизнесклассаснекоторымиограничениямиДополнительнаяинформация</Discription>
    <minimanPrice>89557KZT</minimanPrice>
  </Flight>
  <Flight ID="104">
    <Type>Business</Type>
    <Discription>Нормальныйтарифбизнесклассабезограничений.ПочувствуйтенастоящийкомфортДополнительнаяинформация</Discription>
    <minimanPrice>98345KZT</minimanPrice>
  </Flight>
  <Flight ID="105">
    <Type>SpecialKazakhstan</Type>
    <Discription>СпециальныйтарифэкономическогоклассасограничениямиДополнительнаяинформация</Discription>
    <minimanPrice>47917KZT</minimanPrice>
  </Flight>
  <Flight ID="106">
    <Type>FlexibleKazakhstan</Type>
    <Discription>Специальныйтарифэкономическогоклассасвозможностьюбесплатногоперебронированиядоотправления.Дополнительнаяинформация</Discription>
    <minimanPrice>52397KZT</minimanPrice>
  </Flight>
  <Flight ID="107">
    <Type>Fullflexible</Type>
    <Discription>НормальныйтарифэкономическогоклассабезограниченийДополнительнаяинформация</Discription>
    <minimanPrice>56267KZT</minimanPrice>
  </Flight>
  <Flight ID="108">
    <Type>BusinessKazakhstan</Type>
    <Discription>НормальныйтарифбизнесклассаснекоторымиограничениямиДополнительнаяинформация</Discription>
    <minimanPrice>89557KZT</minimanPrice>
  </Flight>
  <Flight ID="109">
    <Type>Business</Type>
    <Discription>Нормальныйтарифбизнесклассабезограничений.ПочувствуйтенастоящийкомфортДополнительнаяинформация</Discription>
    <minimanPrice>98345KZT</minimanPrice>
  </Flight>
  <Flight ID="110">
    <Type>SpecialKazakhstan</Type>
    <Discription>СпециальныйтарифэкономическогоклассасограничениямиДополнительнаяинформация</Discription>
    <minimanPrice>47917KZT</minimanPrice>
  </Flight>
  <Flight ID="111">
    <Type>FlexibleKazakhstan</Type>
    <Discription>Специальныйтарифэкономическогоклассасвозможностьюбесплатногоперебронированиядоотправления.Дополнительнаяинформация</Discription>
    <minimanPrice>52397KZT</minimanPrice>
  </Flight>
  <Flight ID="112">
    <Type>Fullflexible</Type>
    <Discription>НормальныйтарифэкономическогоклассабезограниченийДополнительнаяинформация</Discription>
    <minimanPrice>56267KZT</minimanPrice>
  </Flight>
  <Flight ID="113">
    <Type>BusinessKazakhstan</Type>
    <Discription>НормальныйтарифбизнесклассаснекоторымиограничениямиДополнительнаяинформация</Discription>
    <minimanPrice>89557KZT</minimanPrice>
  </Flight>
  <Flight ID="114">
    <Type>Business</Type>
    <Discription>Нормальныйтарифбизнесклассабезограничений.ПочувствуйтенастоящийкомфортДополнительнаяинформация</Discription>
    <minimanPrice>98345KZT</minimanPrice>
  </Flight>
</Flights>
4

1 回答 1

2

尝试用 jQuery 解析它

success: function(xml)
{
   $(xml).find("Flight").each(function() {
      // code here
   });
}

像这样:

    $.ajax({
        url: 'Flights.xml',
        type: 'GET',
        dataType: 'xml',
        timeout: 1000,
        error: function () {
            alert('Error loading XML document');
        },
        success: function(xml)
        {
          $(xml).find("Flight").each(function() {
            $(this).attr('id') // ID
            $(this).find('discription').text() // Discription content
          });
        }
    });
于 2012-06-16T10:52:21.850 回答