2016-12-12 50 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.... 

}