Php 易趣API单品呼叫,商品详情

Php 易趣API单品呼叫,商品详情,php,ebay-api,Php,Ebay Api,我很难理解这一点。我更像是一名Java开发人员,所以我使用数组实现了这一点 我如何在PHP中实现这一点 <ItemSpecifics> <NameValueList> <Name>Professional Grader</Name> <Value>Professional Sports (PSA)</Value> </NameValueList> <NameValu

我很难理解这一点。我更像是一名Java开发人员,所以我使用数组实现了这一点

我如何在PHP中实现这一点

<ItemSpecifics>
   <NameValueList>
      <Name>Professional Grader</Name>
      <Value>Professional Sports (PSA)</Value>
   </NameValueList>
   <NameValueList>
      <Name>Year</Name>
      <Value>2012</Value>
   </NameValueList>
   <NameValueList>
      <Name>Card Attributes</Name>
       <Value>Rookie</Value>
      </NameValueList>
</ItemSpecifics>
这里是我试图展示它的地方

<?php
          if ($itemSpecificName != NULL || $itemSpecificValue != NULL) {
            foreach ($item->ItemSpecifics as $key => $value) {
              foreach ($item->ItemSpecifics->NameValueList as $key => $value) {
                foreach ($itemSpecificName as $key => $value) {
                  ?> <li> <?php echo($value);?></li><?php
                  foreach ($itemSpecificValue as $key => $value) {
                    ?> <span style="margin-left:25px;"> <?php echo($value);?></span><br><?php
                  }
                }
              }
            }


          } else {
            ?> <i>Not specified</i> <?php
          }
          ?>

它没有解析每个NameValueList。

您的代码中有太多的层,我假设了一些事情(使用SimpleXML,并且在您显示的数据之上还有另一层数据)。但输出的简单版本如下

$data = <<< XML
<OuterLayer>
<ItemSpecifics>
   <NameValueList>
      <Name>Professional Grader</Name>
      <Value>Professional Sports (PSA)</Value>
   </NameValueList>
   <NameValueList>
      <Name>Year</Name>
      <Value>2012</Value>
   </NameValueList>
   <NameValueList>
      <Name>Card Attributes</Name>
       <Value>Rookie</Value>
      </NameValueList>
</ItemSpecifics>
</OuterLayer>
XML;
$item = simplexml_load_string($data);
foreach ($item->ItemSpecifics as $value) {
    foreach ($value->NameValueList as $value) {
        echo $value->Name."/".$value->Value.PHP_EOL;
    }
}
$data=NameValueList作为$value){
echo$value->Name.“/”$value->value.PHP\u EOL;
}
}
我注意到的一点是,正如您从上面的代码中看到的,一个循环的输出充当下一个循环的起点。这提供了访问不同级别数据的嵌套效果


您将不得不在以后的HTML中包装输出,但希望这足以让您开始。

如果我得到回报,这不能成为一种类型。它不仅仅是遍历每个NameValueList。只是打印了第一张,有什么问题吗?是否有任何错误消息?也许,您想将数据收集逻辑和输出逻辑分开?谢谢。等我能拿到报告的时候我会试试的。这有帮助吗?非常感谢!昨晚我成功地实现了这一点!!
 Professional Grader     
 Professional Sports (PSA)  
 Professional Grader
 Professional Sports (PSA)  
 Professional Grader     
 Professional Sports (PSA)
$data = <<< XML
<OuterLayer>
<ItemSpecifics>
   <NameValueList>
      <Name>Professional Grader</Name>
      <Value>Professional Sports (PSA)</Value>
   </NameValueList>
   <NameValueList>
      <Name>Year</Name>
      <Value>2012</Value>
   </NameValueList>
   <NameValueList>
      <Name>Card Attributes</Name>
       <Value>Rookie</Value>
      </NameValueList>
</ItemSpecifics>
</OuterLayer>
XML;
$item = simplexml_load_string($data);
foreach ($item->ItemSpecifics as $value) {
    foreach ($value->NameValueList as $value) {
        echo $value->Name."/".$value->Value.PHP_EOL;
    }
}