这里是XML的新手。
考虑这个简单的XML架构:
<products>
<category name="furniture">
<item name="chair" name2="table">
<size>
<small>10</small>
<large>20</large>
</size>
</item>
<item name="cabinet">
<size>
<small>15</small>
<large>30</large>
</size>
</item>
<item name="shelf" name2="box" name3="frame">
<size>
<small>5</small>
<large>10</large>
</size>
</item>
</category>
</products>
请注意,每个<item>
元素都有不同的属性。
我一直试图使用XPATH和foreach循环来回显这些属性而没有成功。 当然,我错过了一小段语法。
$dom=simplexml_load_file("file.xml");
foreach ($dom->xpath("/products/category[@name='furniture']/item") as $parse)
echo'<tr><td>'.$parse->attributes().'</td></tr>';
$ parse-&GT;属性();只给我元素的第一个属性。 输出如下:
<tr><td>chair</td></tr>
<tr><td>cabinet</td></tr>
<tr><td>shelf</td></tr>
我错过了什么?
答案 0 :(得分:0)
使用嵌套的foreach
循环:
foreach ($dom->xpath("/products/category[@name='furniture']/item") as $parse) {
foreach ($parse->attributes() as $attr) {
echo '<tr><td>'. $attr . '</td></tr>'."\n";
}
}