Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/402.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用Javascript解析XML_Javascript_Xml_Xml Parsing - Fatal编程技术网

用Javascript解析XML

用Javascript解析XML,javascript,xml,xml-parsing,Javascript,Xml,Xml Parsing,我有一个返回数据的XML提要。我试图为标记创建一个元素数组,但即使填充了数据,数组的长度也始终为零 $.ajax({ url: submitUrl, type: "POST", dataType: "xml", data: { request: soapRequest, endPoint: soapEndPoint, header: so

我有一个返回数据的XML提要。我试图为标记创建一个元素数组,但即使填充了数据,数组的长度也始终为零

$.ajax({
                    url: submitUrl,
                    type: "POST",
                    dataType: "xml",
                    data: { request: soapRequest, endPoint: soapEndPoint, header: soapHeader },
                    error: function() {
                        $('#consolelog').html('<p>Failure.</p>');
                    },
                    success: function(soapResponse) {
if (window.DOMParser) {
           parser=new DOMParser();
           xmlDoc=parser.parseFromString(soapResponse,"text/xml");
    }
    else {  //IE
           xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
           xmlDoc.async=false;
           xmlDoc.loadXML(soapResponse); 
    }

    consoleID = document.getElementById('consoleLog');
    consoleID.appendChild(document.createTextNode("xmlDoc = " +  xmlDoc));
    linebreak = document.createElement('br');
    consoleID.appendChild(linebreak);

    var xmlArray = xmlDoc.getElementsByTagName("FAgent");

    consoleID = document.getElementById('consoleLog');
    consoleID.appendChild(document.createTextNode("XMLArray length = " + xmlArray.length));
    linebreak = document.createElement('br');
    consoleID.appendChild(linebreak);

    consoleID = document.getElementById('consoleLog');
    consoleID.appendChild(document.createTextNode("XML Doc = " + xmlDoc.documentElement.childNodes));
    linebreak = document.createElement('br');
    consoleID.appendChild(linebreak);
我想在数组中循环,但由于它的长度为0,我不知道如何访问元素

当我在browser developer控制台上检查inspector时,soap响应也显示为一个文件

XML是

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
   <soap:Body>
      <GenerateQuotesResponse xmlns="http://www.xxxxx.yyyyy/">
         <GenerateQuotesResult>
            <CustomerName>Test</CustomerName>
            <Supplier/>
            <QuoteDate>2012-11-28T08:06:04.3860424-06:00</QuoteDate>
            <QuoteStatus>0</QuoteStatus>
            <QuoteStatusMessage/>
            <As>
               <Apt>
                  <AptStatusCode>0</AptStatusCode>
                  <AptStatusMessage>Apt Processing Successful</AptStatusMessage>
                  <IO>KAL</IO>
                  <IA>AL</IA>
                  <FAgents>
                     <FAgent>
                        <ContractID>2553</ContractID>
                        <AgentName>Test</AgentName>
                        <Address1>Test Ave.</Address1>
                        <Address2/>
                        <PostalCode/>
                        <Phone/>
                        <FAX/>
                        <UnitOfMeasure>US</UnitOfMeasure>
                        <Currency>USD</Currency>
                        <TaxesIncluded>YES</TaxesIncluded>
                        <ColtCardAccepted>YES</ColtCardAccepted>
                        <Note/>
                        <AgentStatusCode>0</AgentStatusCode>
                        <AgentStatusMessage>Agent Processing Successful</AgentStatusMessage>
                        <PricingTiers>
                           <PricingTier>
                              <LowVolume>0.00</LowVolume>
                              <HighVolume>249.00</HighVolume>
                              <UnitPrice>5.15</UnitPrice>
                              <VolUOM>US</VolUOM>
                              <FormattedPrice>5.15</FormattedPrice>
                              <CurrCode>USD</CurrCode>
                           </PricingTier>
                           <PricingTier>
                              <LowVolume>250.00</LowVolume>
                              <HighVolume>499.00</HighVolume>
                              <UnitPrice>5.00</UnitPrice>
                              <VolUOM>US</VolUOM>
                              <FormattedPrice>5.00</FormattedPrice>
                              <CurrCode>USD</CurrCode>
                           </PricingTier>
                            <PricingTier>
                              <LowVolume>2000.00</LowVolume>
                              <HighVolume>999999.00</HighVolume>
                              <UnitPrice>4.55</UnitPrice>
                              <VolUOM>US</VolUOM>
                              <FormattedPrice>4.55</FormattedPrice>
                              <CurrCode>USD</CurrCode>
                           </PricingTier>
                        </PricingTiers>
                     </FAgent>
                     <FAgent>
                        <ContractID>5xxx</ContractID>
                        <AgentName>test 2</AgentName>
                        <Address1/>
                        <Address2/>
                        <PostalCode/>
                        <Phone/>
                        <FAX/>
                        <UnitOfMeasure>US</UnitOfMeasure>
                        <Currency>USD</Currency>
                        <TaxesIncluded>YES</TaxesIncluded>
                        <ColtCardAccepted>YES</ColtCardAccepted>
                        <Note>Test 7</Note>
                        <AgentStatusCode>0</AgentStatusCode>
                        <AgentStatusMessage>Agent Processing Successful</AgentStatusMessage>
                        <PricingTiers>
                           <PricingTier>
                              <LowVolume>0.00</LowVolume>
                              <HighVolume>500.00</HighVolume>
                              <UnitPrice>4.80</UnitPrice>
                              <VolUOM>US</VolUOM>
                              <FormattedPrice>4.80</FormattedPrice>
                              <CurrCode>USD</CurrCode>
                           </PricingTier>
                           <PricingTier>
                              <LowVolume>501.00</LowVolume>
                              <HighVolume>1000.00</HighVolume>
                              <UnitPrice>4.55</UnitPrice>
                              <VolUOM>US</VolUOM>
                              <FormattedPrice>4.55</FormattedPrice>
                              <CurrCode>USD</CurrCode>
                           </PricingTier>
                        </PricingTiers>
                     </FAgent>
                  </FAgents>
               </Apt>
            </As>
         </GenerateQuotesResult>
      </GenerateQuotesResponse>
   </soap:Body>
</soap:Envelope>

试验
2012-11-28 08:06:04.3860424-06:00
0
0
Apt处理成功
卡尔
艾尔
2553
试验
测试大道。
美国
美元
对
对
0
代理处理成功
0
249
5.15
美国
5.15
美元
250
499
5
美国
5
美元
2000
999999
4.55
美国
4.55
美元
5xxx
测试2
美国
美元
对
对
测试7
0
代理处理成功
0
500
4.80
美国
4.80
美元
501
1000
4.55
美国
4.55
美元

XML文档是区分大小写的,因此请确保您实际拥有的元素与HTML不同。您是否可以使用我不了解的示例XML数据更新您的帖子。你的密码和我的一模一样。在你的提琴中查看这一点FAgent有一个文本值,但我的有一个层次结构,它可能是reason@MB. 不是因为
xmlArray
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
   <soap:Body>
      <GenerateQuotesResponse xmlns="http://www.xxxxx.yyyyy/">
         <GenerateQuotesResult>
            <CustomerName>Test</CustomerName>
            <Supplier/>
            <QuoteDate>2012-11-28T08:06:04.3860424-06:00</QuoteDate>
            <QuoteStatus>0</QuoteStatus>
            <QuoteStatusMessage/>
            <As>
               <Apt>
                  <AptStatusCode>0</AptStatusCode>
                  <AptStatusMessage>Apt Processing Successful</AptStatusMessage>
                  <IO>KAL</IO>
                  <IA>AL</IA>
                  <FAgents>
                     <FAgent>
                        <ContractID>2553</ContractID>
                        <AgentName>Test</AgentName>
                        <Address1>Test Ave.</Address1>
                        <Address2/>
                        <PostalCode/>
                        <Phone/>
                        <FAX/>
                        <UnitOfMeasure>US</UnitOfMeasure>
                        <Currency>USD</Currency>
                        <TaxesIncluded>YES</TaxesIncluded>
                        <ColtCardAccepted>YES</ColtCardAccepted>
                        <Note/>
                        <AgentStatusCode>0</AgentStatusCode>
                        <AgentStatusMessage>Agent Processing Successful</AgentStatusMessage>
                        <PricingTiers>
                           <PricingTier>
                              <LowVolume>0.00</LowVolume>
                              <HighVolume>249.00</HighVolume>
                              <UnitPrice>5.15</UnitPrice>
                              <VolUOM>US</VolUOM>
                              <FormattedPrice>5.15</FormattedPrice>
                              <CurrCode>USD</CurrCode>
                           </PricingTier>
                           <PricingTier>
                              <LowVolume>250.00</LowVolume>
                              <HighVolume>499.00</HighVolume>
                              <UnitPrice>5.00</UnitPrice>
                              <VolUOM>US</VolUOM>
                              <FormattedPrice>5.00</FormattedPrice>
                              <CurrCode>USD</CurrCode>
                           </PricingTier>
                            <PricingTier>
                              <LowVolume>2000.00</LowVolume>
                              <HighVolume>999999.00</HighVolume>
                              <UnitPrice>4.55</UnitPrice>
                              <VolUOM>US</VolUOM>
                              <FormattedPrice>4.55</FormattedPrice>
                              <CurrCode>USD</CurrCode>
                           </PricingTier>
                        </PricingTiers>
                     </FAgent>
                     <FAgent>
                        <ContractID>5xxx</ContractID>
                        <AgentName>test 2</AgentName>
                        <Address1/>
                        <Address2/>
                        <PostalCode/>
                        <Phone/>
                        <FAX/>
                        <UnitOfMeasure>US</UnitOfMeasure>
                        <Currency>USD</Currency>
                        <TaxesIncluded>YES</TaxesIncluded>
                        <ColtCardAccepted>YES</ColtCardAccepted>
                        <Note>Test 7</Note>
                        <AgentStatusCode>0</AgentStatusCode>
                        <AgentStatusMessage>Agent Processing Successful</AgentStatusMessage>
                        <PricingTiers>
                           <PricingTier>
                              <LowVolume>0.00</LowVolume>
                              <HighVolume>500.00</HighVolume>
                              <UnitPrice>4.80</UnitPrice>
                              <VolUOM>US</VolUOM>
                              <FormattedPrice>4.80</FormattedPrice>
                              <CurrCode>USD</CurrCode>
                           </PricingTier>
                           <PricingTier>
                              <LowVolume>501.00</LowVolume>
                              <HighVolume>1000.00</HighVolume>
                              <UnitPrice>4.55</UnitPrice>
                              <VolUOM>US</VolUOM>
                              <FormattedPrice>4.55</FormattedPrice>
                              <CurrCode>USD</CurrCode>
                           </PricingTier>
                        </PricingTiers>
                     </FAgent>
                  </FAgents>
               </Apt>
            </As>
         </GenerateQuotesResult>
      </GenerateQuotesResponse>
   </soap:Body>
</soap:Envelope>