2015-02-09 99 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