2015-02-09 152 views
0

我不明白這個東西是如何工作的。我遵循PHP Doc的說明。simplexml解析器php迭代

這裏是我的代碼:

$xmlfile = simplexml_load_file($xmlurl) or die("Cannon get."); 

該文件包含以下模式:

<PriceResult> 
<QueryStatus> 
</QueryStatus> 
<InputData> 
</InputData> 
<Producers/> 
<Prices> 
    <Price> 
    </Price> 
    <Price> 
    <PartId>13580448730</PartId> 
    <BrandId>11</BrandId> 
    <Brand>BERU</Brand> 
    <PartNumber>Z226</PartNumber> 
    <PartNumberShort>Z226</PartNumberShort> 
    <PartDescriptionRus/> 
    <Price>8.90</Price> 
    <Currency>EUR</Currency> 
    <Quantity>0</Quantity> 
    <QuantityType>EQUAL</QuantityType> 
    <PriceLogo>GLIR</PriceLogo><Weight/> 
    <PriceDescrShort>Европейский поставщик запчастей</PriceDescrShort> 
    <PriceDescrLong>Европейский поставщик запчастей</PriceDescrLong>  
    <DeliveryType>LOCAL</DeliveryType> 
    <DeliveryDays>17</DeliveryDays> 
    <PriceChangeDate>2015-01-05 10:27:05</PriceChangeDate>  
    <DamagedFlag>N</DamagedFlag> 
    <UsedFlag>N</UsedFlag> 
    <OriginalFlag>N</OriginalFlag> 
    <OldPartNumberFlag>N</OldPartNumberFlag> 
    <Group>0</Group><GroupDescr/> 
    </Price> 
<Price> 
</Price> 
<Price> 
</Price> 
</PriceResult> 

我之前做了,但是現在我忘了。所以,我怎麼能遍歷XML通過價格的價格,這樣能夠獲取數據:

foreach ($xmlfile->children() as $item){ 
    print($item->BrandId); 
} 

和虐待讓所有的品牌,或$用品 - > PARTID - 所有的一部分嗎? e.t.c所有

+0

我沒有在php中開發,但在你的xml中看不到結束。 – 2015-02-09 15:57:30

+0

正確縮進:) – Slavic 2015-02-09 15:58:15

+0

抱歉,修正。現在你應該看到 – 2015-02-09 15:59:16

回答

0
$xmlfile = simplexml_load_file($xmlurl) or die("Cannon get."); 

然後 $ XXX = $ xmlfile-> XXX; $ yyy = $ xmlfile-> yyy; $ zzz = $ xmlfile-> zzz;

畢竟,它更簡單,以顯示這樣

echo $xxx; 

哪裏是你的數據 「 - >兒()」?

+0

我沒有得到。 $ xmlfile對象包含很多'Price'實體。 我需要遍歷每個Price實體並獲取所有數據。 IDK 'foreach($ xmlfile-> Price as $ Price)print($ Price-> BrandId,$ Price-> PartId)e.t.c.' – 2015-02-09 16:13:56