Versão atual:

Search Webservice Itens

Bom dia,

Pessoal estou com um problema na qual não estou encontrando solução.

Estou executando um loop for em um resultado obtido a partir de um webservice, porém percebi que ele não está obedecendo aos valores vazios e seus respectivos índices, abaixo segue o código:

var xml='<TAB><ZFLUIGS07><MBLNR>5000052293</MBLNR><MJAHR>2018</MJAHR><ITENS><ZFLUIGS06><MBLNR>5000052293</MBLNR><MJAHR>2018</MJAHR><MBLPO>0001</MBLPO><BSTNR>0031008735</BSTNR><EBELP>00010</EBELP><COSTCENTER></COSTCENTER><WBS_ELEM></WBS_ELEM><ACCTASSCAT>K</ACCTASSCAT><KNTTX>Centro de custo</KNTTX><MATERIAL>000000000006000270</MATERIAL><SHORT_TEXT>ADMINISTRAÇÃO DE CONVÊNIO - V.A./V.R.</SHORT_TEXT><QUANTITY>1.0</QUANTITY><NET_PRICE>2418.27</NET_PRICE></ZFLUIGS06><ZFLUIGS06><MBLNR>5000052293</MBLNR><MJAHR>2018</MJAHR><MBLPO>0002</MBLPO><BSTNR>0031008735</BSTNR><EBELP>00020</EBELP><COSTCENTER>EDB0104</COSTCENTER><WBS_ELEM></WBS_ELEM><ACCTASSCAT>K</ACCTASSCAT><KNTTX>Centro de custo</KNTTX><MATERIAL>000000000006000270</MATERIAL><SHORT_TEXT>ADMINISTRAÇÃO DE CONVÊNIO - V.A./V.R.</SHORT_TEXT><QUANTITY>1.0</QUANTITY><NET_PRICE>16752.7</NET_PRICE></ZFLUIGS06></ITENS></ZFLUIGS07></TAB>';

$(xml).find("ITENS").map(function(){
    var xmlLength = $(this).find("ZFLUIGS06").length;
    for(var i = 0; i < xmlLength; i++){

          var textnrPedido = $(this).find("ZFLUIGS06").find('BSTNR').contents().eq(i).text();
      var textnrItem = $(this).find("ZFLUIGS06").find('EBELP').contents().eq(i).text();
      var textcodMat = $(this).find("ZFLUIGS06").find('MATERIAL').contents().eq(i).text();
      var textdescMat = $(this).find("ZFLUIGS06").find('SHORT_TEXT').contents().eq(i).text();     
      var textcCusto = $(this).find("ZFLUIGS06").find('COSTCENTER').contents().eq(i).text();   
      var textqtd = $(this).find("ZFLUIGS06").find('QUANTITY').contents().eq(i).text();     
      var textPrice = $(this).find("ZFLUIGS06").find('NET_PRICE').contents().eq(i).text();

      alert(i+" : "+textcCusto);      

      }
});

Na variável "xml", na tag COSTCENTER, o valor do índice 0 não existe, ja no indice 1 ele tem o valor "EDB0104". Ao executar o script ele joga o valor "EDB0104" no indice 0. Como posso fazer para evitar isso, gostaria que ele trouxesse os valores corretos nos seus respectivos índices. Ou pelo menos trouxesse o valor no indice correto.

No link abaixo ja tenho o projeto pronto para teste caso queiram, ja mostrando um alert com o indice e o campo COSTCENTER: http://jsfiddle.net/8phk536c/6/

Versões (6):

Ver a versão formatada

Search Webservice Itens

Comentário

new question