【问题标题】:Iterate through items from SOAP-xml result in php遍历 SOAP-xml 中的项目导致 php
【发布时间】:2016-12-12 08:48:37
【问题描述】:

我正在尝试遍历 xml 字符串,但没有成功。我以前做过,效果很好。 我从一个 SOAP 服务器得到这个:

$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....
}

但我在这里堆积如山。有什么提示???

【问题讨论】:

    标签: php xml soap


    【解决方案1】:

    好的!得到解决方案!比我想象的要容易...也许这就是我没有找到它的原因...

    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....
    

    }

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-02-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-12-01
      • 1970-01-01
      • 2012-09-07
      相关资源
      最近更新 更多