繁体   English   中英

PHP SimpleXML 我如何获得这个值?

[英]PHP SimpleXML how do i get this value?

我将如何在下面的示例文件中检索<TotalNew>的值? 我对 simplexml 不熟悉。 我尝试按以下方式访问它: ItemLookupResponse->Items->Item->TotalNew但它没有产生结果。

谁能指出我如何实现这一目标? 提前致谢

<?xml version="1.0"?>
<ItemLookupResponse  xmlns="http://webservices.amazon.com/AWSECommerceService/2011-08-01">
<OperationRequest>
<HTTPHeaders>
  <Header Name="UserAgent" Value="ApaiIO [2.0.0-DEV]"/>
</HTTPHeaders>
<RequestId>3ba918b6-7a00-4251-b24d-be8a40cb3eb8</RequestId>
<Arguments>
  <Argument Name="AWSAccessKeyId" Value=""/>
  <Argument Name="AssociateTag" Value=""/>
  <Argument Name="Condition" Value="New"/>
  <Argument Name="ItemId" Value=""/>
  <Argument Name="Operation" Value="ItemLookup"/>
  <Argument Name="ResponseGroup" Value="OfferSummary"/>
  <Argument Name="Service" Value="AWSECommerceService"/>
  <Argument Name="Timestamp" Value="2015-09-08T07:39:02Z"/>
  <Argument Name="Version" Value="2011-08-01"/>
  <Argument Name="Signature" Value="eglWsk68VxzDOE8PIdQdNget9RhZvPiBZylxpgn94ns="/>
</Arguments>
<RequestProcessingTime>0.0138980000000000</RequestProcessingTime>
</OperationRequest>
<Items>
<Request>
  <IsValid>True</IsValid>
  <ItemLookupRequest>
    <Condition>New</Condition>
    <IdType>ASIN</IdType>
    <ItemId></ItemId>
    <ResponseGroup>OfferSummary</ResponseGroup>
    <VariationPage>All</VariationPage>
  </ItemLookupRequest>
</Request>
<Item>
  <ASIN></ASIN>
  <ParentASIN></ParentASIN>
  <OfferSummary>
    <LowestNewPrice>
      <Amount>699</Amount>
      <CurrencyCode>USD</CurrencyCode>
      <FormattedPrice>$6.99</FormattedPrice>
    </LowestNewPrice>
    <LowestUsedPrice>
      <Amount>599</Amount>
      <CurrencyCode>USD</CurrencyCode>
      <FormattedPrice>$5.99</FormattedPrice>
    </LowestUsedPrice>
    <TotalNew>3</TotalNew>
    <TotalUsed>1</TotalUsed>
    <TotalCollectible>0</TotalCollectible>
    <TotalRefurbished>0</TotalRefurbished>
  </OfferSummary>
</Item>

您的 XML 有错误。 将以下内容添加到 XML 的末尾..

    </Items>
</ItemLookupResponse>

然后您可以使用以下内容.. ..记住<items>内可能有多个<item>元素,因此您必须遍历它们。

$xml = simplexml_load_string($string);

foreach ($xml->Items as $item){

    echo $item->Item->OfferSummary->TotalNew->__toString();

}

如果您可以保证<Items>只有一个<Item> ,或者您只想定位第一个<Item> ,则可以通过定位<Items>数组的第一个值来实现此目的而无需循环使用Item[0]

echo $xml->Items->Item[0]->OfferSummary->TotalNew->__toString();

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM