2012-11-27 3 views
0

에 저장합니다.이값을 모두 검색하여 PHP 변수/배열에 저장할 수 있습니까?XML : 여러 자식 노드의 값을 PHP 배열

시도했는데 $result=$xml->xpath('//ASIN');을 시도했지만이 결과는 브라우저 출력으로 array(0) { }입니다. 도움을 주셔서 감사합니다. 나는 그것을 매우 고맙게 생각한다!

이 내 XML 파일입니다 직접 XPath 쿼리를 실행 할 수없는 때문에 네임 스페이스의

<?xml version="1.0" ?> 
     <ItemLookupResponse xmlns="http://webservices.amazon.com/AWSECommerceService/2011-08-01"> 
     <OperationRequest> 
     <RequestId>...</RequestId> 
     <Arguments> 
     <Argument Name="region" Value="de"></Argument> 
     <Argument Name="ItemId" Value="B007ZXLRVQ"></Argument> 
     <Argument Name="Operation" Value="ItemLookup"></Argument> 
     <Argument Name="Service" Value="AWSECommerceService"></Argument> 
     <Argument Name="AWSAccessKeyId" Value="...."></Argument> 
     <Argument Name="Timestamp" Value="2012-11-27T12:52:41Z"></Argument> 
     <Argument Name="Signature" Value="...."></Argument> 
     <Argument Name="ResponseGroup" Value="Similarities"></Argument> 
     <Argument Name="AssociateTag" Value="..."></Argument> 
     <Argument Name="Version" Value="2009-10-01"></Argument> 
    </Arguments> 
    <RequestProcessingTime>0.0216670000000000</RequestProcessingTime> 
    </OperationRequest> 
    <Items> 
     <Request> 
     <IsValid>True</IsValid> 
     <ItemLookupRequest> 
      <IdType>ASIN</IdType> 
      <ItemId>B007ZXLRVQ</ItemId> 
      <ResponseGroup>Similarities</ResponseGroup> 
      <VariationPage>All</VariationPage> 
     </ItemLookupRequest> 
     </Request> 
    <Item> 
     <ASIN>B007ZXLRVQ</ASIN> 
     <SimilarProducts><SimilarProduct><ASIN>B007Y6DS84</ASIN> 
     <Title>Brita 040 147 Starterpaket Marella Cool, weiß</Title> 
     </SimilarProduct> 
     <SimilarProduct> 
     <ASIN>B0018K7EMI</ASIN> 
     <Title>Trinkflasche 1,0 Liter für gefiltertes Wasser</Title> 
     </SimilarProduct> 
     <SimilarProduct> 
     <ASIN>B000QG7AJM</ASIN> 
     <Title>Brita Filterkartuschen Maxtra Pack 4 (lim. Edition)</Title> 
     </SimilarProduct> 
     <SimilarProduct> 
     <ASIN>B001T9N51M</ASIN> 
     <Title>Brita Filterkartuschen Maxtra Pack 12 (lim. Edition)</Title> 
     </SimilarProduct> 
     <SimilarProduct> 
     <ASIN>B001ET6CNU</ASIN> 
     <Title>wuta kamille 82158 Herbacin Handcreme + Glyzerin Dose 75 ml, Fünferpack</Title> 
    </SimilarProduct> 
    </SimilarProducts> 
    </Item> 
    </Items> 
</ItemLookupResponse> 

답변

0

. 전체 세부 사항 솔루션 읽기 here

아직도 당신을 도울 수있는 약간의 코드를 제공하고 있습니다.

$asins = simplexml_load_file('asin.xml'); 
if(count($asins)): 
    //alternate way other than registring NameSpace 
    //$asin = $asins->xpath("//*[local-name() = 'ASIN']"); 

    $asins->registerXPathNamespace('prefix', 'http://webservices.amazon.com/AWSECommerceService/2011-08-01'); 
    $asin = $asins->xpath("//prefix:ASIN"); 
    echo "<pre>";print_r($asin); 
endif; 

이제 같은 ASIN 요소 떨어져 배열을 볼 수

Array 
(
    [0] => SimpleXMLElement Object 
     (
      [0] => B007ZXLRVQ 
     ) 

    [1] => SimpleXMLElement Object 
     (
      [0] => B007Y6DS84 
     ) 

    [2] => SimpleXMLElement Object 
     (
      [0] => B0018K7EMI 
     ) 

    [3] => SimpleXMLElement Object 
     (
      [0] => B000QG7AJM 
     ) 

    [4] => SimpleXMLElement Object 
     (
      [0] => B001T9N51M 
     ) 

    [5] => SimpleXMLElement Object 
     (
      [0] => B001ET6CNU 
     ) 

) 
아래
관련 문제