2016-12-12 52 views
0

我試着沒有成功迭代通過xml字符串。我之前做過,它運行良好。 我得到這個從SOAP服務器這樣做:遍歷SOAP-xml中的項目php

$lr = $client->__doRequest($request, $url, $action, $version); 
dd($lr); 

我得到這個: Too long to be here. It's on pastebin

當我試試這個:

$xml = new \DOMDocument(); 
$xml->loadXML($lr); 
$i = 0;   
while(is_object($productos = $xml->getElementsByTagName('Productos')->item($i))) { 
    foreach($productos->childNodes as $nodename) { 
     echo $i.": ".$nodename->nodeName." - ".$nodename->nodeValue."<br>"; 
    } 
    $i++; 
} 

我得到這個:Result with products

現在,我想要做這樣的事情:

foreach ($productos as $producto) { 
    $referencia_dist = trim($producto->IdProducto); 
    $mpn = trim($producto->PartNumber); 
    $ean = trim($producto->UpcCode); 
    and son on.... 
} 

但我在這裏堆疊。任何提示?

回答

0

好的!得到了解決方案!它比我想象的容易......也許,這就是爲什麼我沒有找到它的原因......

while(is_object($productos = $xml->getElementsByTagName('Productos')->item($i))){ 
      $nombre = ""; 
      $IdCategoria = ""; 
     foreach($productos->childNodes as $producto) 
       { 
        switch ($producto->nodename){ 
         case 'IdProducto': 
          $IdProducto = $producto->nodeValue; 
         case 'IdTarifa': 
          $IdTarifa = $producto->nodeValue; 
         case 'MostrarComparadores': 
          $MostrarComparadores = $producto->nodeValue; 
         case.... 

}