0

これは以前に尋ねられたことを知っており、いくつかの提案を試しましたが、XML ファイルから情報を取得できません。XML ファイルから売り手の数 (OfferListingCount condition="Any") を取得する必要があります。XML は次のとおりです。

    <?xml version="1.0"?>
<GetCompetitivePricingForASINResponse xmlns="http://mws.amazonservices.com/schema/Products/2011-10-01">
<GetCompetitivePricingForASINResult ASIN="0312479743" status="Success">
<Product xmlns="http://mws.amazonservices.com/schema/Products/2011-10-01" xmlns:ns2="http://mws.amazonservices.com/schema/Products/2011-10-01/default.xsd">
<Identifiers>
  <MarketplaceASIN>
    <MarketplaceId>ATVPDKIKX0DER</MarketplaceId>
    <ASIN>0312479743</ASIN>
  </MarketplaceASIN>
</Identifiers>
<CompetitivePricing>
  <CompetitivePrices>
    <CompetitivePrice belongsToRequester="false" condition="Used" subcondition="Good">
      <CompetitivePriceId>2</CompetitivePriceId>
      <Price>
        <LandedPrice>
          <CurrencyCode>USD</CurrencyCode>
          <Amount>36.23</Amount>
        </LandedPrice>
        <ListingPrice>
          <CurrencyCode>USD</CurrencyCode>
          <Amount>36.23</Amount>
        </ListingPrice>
        <Shipping>
          <CurrencyCode>USD</CurrencyCode>
          <Amount>0.00</Amount>
        </Shipping>
      </Price>
    </CompetitivePrice>
  </CompetitivePrices>
  <NumberOfOfferListings>
    <OfferListingCount condition="Any">34</OfferListingCount>
    <OfferListingCount condition="Used">29</OfferListingCount>
    <OfferListingCount condition="New">5</OfferListingCount>
  </NumberOfOfferListings>

Phpの私の更新されたコードは次のとおりです。

    $priceComp_xml = amazonCompPrice_xml($asin);
$compPricing = $priceComp_xml->xpath('/OfferListingCount[@condition="Any"]');

$priceComp_xml は xml ファイルから情報を返します。次の行を使用して必要な情報を取得しようとしています。コードを実行すると、空の配列が取得されます。この情報を取得するにはどうすればよいですか?

4

1 に答える 1

0

http://php.net/manual/en/function.simplexml-load-file.php

$xml = simplexml_load_file($xml_file);

        $output = array();
        foreach ($xml as $row => $item_data)
        {
            // Attributes
            $attributes =  $item_data->attributes();

ロードして、属性を取得します。

于 2012-08-28T13:42:39.913 に答える