1
我有下面的XML:屬性在由SimpleXML的創建陣列被顯示爲NULL
<category-links>
<category-link id="2350">
<name locale="de">Wasserkocher</name>
</category-link>
</category-links>
我已經把它變成用SimpleXML陣列,並且將結果看起來像這樣:
[category-links] => SimpleXMLElement Object
(
[category-link] => SimpleXMLElement Object
(
[@attributes] => Array
(
[id] => 2350
)
[name] => Wasserkocher
)
)
我想輸出如下:
<tr>
<td>category-link > id</td>
<td><?= $p->{'category-links'}->{'category-link'}->{'@attributes'}->id ?></td>
</tr>
<tr>
<td>category-link > name</td>
<td><?= $p->{'category-links'}->{'category-link'}->name ?></td>
</tr>
只有name
給出了預期的結果(Wasserkoche r),而id
沒有顯示任何內容。
var_dump($p->{'category-links'}->{'category-link'}->{'@attributes'}->id)
給出NULL。
以各種方式用方括號代替箭頭不會改變任何內容。
我想,我可以「解決」一個字符串替換問題,刪除數組中的@符號。
有沒有什麼方法可以輸出ID而不會做出這種相當笨拙的措施?
http://php.net/manual/en/simplexmlelement.attributes.php – Watchduck 2014-09-24 11:23:36