Php SimpleXML创建的数组中的属性显示为NULL
我有以下XML:Php SimpleXML创建的数组中的属性显示为NULL,php,arrays,xml,simplexml,Php,Arrays,Xml,Simplexml,我有以下XML: <category-links> <category-link id="2350"> <name locale="de">Wasserkocher</name> </category-link> </category-links> 我想输出以下内容: <tr> <td>category-link > id</td>
<category-links>
<category-link id="2350">
<name locale="de">Wasserkocher</name>
</category-link>
</category-links>
我想输出以下内容:
<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>
给出空值
以各种方式用括号替换箭头不会改变任何事情
我想,我可以用字符串替换来“解决”这个问题,删除数组中的@符号
是否有任何方法可以在不进行这种笨拙测量的情况下输出ID?否,访问属性的方法是使用
->attributes()
方法:
<td><?= $p->{'category-links'}->{'category-link'}->attributes()->id; ?></td>
var_dump($p->{'category-links'}->{'category-link'}->{'@attributes'}->id)
<td><?= $p->{'category-links'}->{'category-link'}->attributes()->id; ?></td>