-1

我对 PHP 和 XML 有疑问。我有一个要导入数据库的 XML 数据馈送。大多数值都可以正常工作,但属性不起作用。

我试图选择“品牌”属性,$brand = $allData[$key]->property->brand->value;但它不起作用。

这是读取 data.xml 的 PHP。在代码之后是 XML。

$xml = simplexml_load_file("data.xml");
foreach($xml->children() as $child)
{ 
$allData[] = $child;
}


foreach($allData as $key=>$value)
{
$naam = $allData[$key]->name;
$image = $allData[$key]->images->image;

}

--- XML 代码的一部分 ----

<images>
<image>afbeelding.jpg</image>
</images>
<description>beschrijving</description>
<categories>
<category path="categorie"> Categorie </category>
</categories>

<properties>
<property name="brand">
<value>Merk</value>
</property>

我可以很容易地得到描述和图像标签。但是品牌不行。

$brand = $allData[$key]->property->brand->value;

有没有人可以帮助我?

4

1 回答 1

0

我不明白你为什么通过强制将它放入数组来迭代某些东西。您的问题的简短(但不好)答案是: $brandProperty = (string) $allData[$key]->property->attributes()->name;

更好:遵循 Jerry 的建议和 RTM - 阅读精美的手册。手册和用户提供的注释包含您需要的所有信息以及更多信息。foreach ($xml->children() as $node)SimpleXML 本身实现了迭代,使用类似遍历文档之类的东西更容易。

希望有帮助。

于 2013-02-05T19:48:47.133 回答