当我将其移动到另一台服务器时,读取我的XML并遍历子节点,它停止工作,关于为什么它会停止的任何想法。
下面是 XML:
<masterxmlholder>
<userinfo login="user1">
<rde-idea:lastlogin code="0">Wed Dec 31 17:00:00 MST 1969</rde-idea:lastlogin>
</userinfo>
<userinfo login="user2">
<rde-idea:lastlogin code="4564568522258">Wed Dec 31 17:00:00 MST 1969</rde-idea:lastlogin>
</userinfo>
</masterxmlholder>
这是我试图接近孩子的循环
foreach ($xml->children() as $user) {
echo '<tr><td> Name : </td><td>' . $user['login'] . $user->lastlogin '</td><td>';
}
echo '</table></center>';
现在我可以从每个子节点获取要显示的 name 属性,但是我无法显示任何子
节点的内部节点这一切都被修剪下来,让你知道我试图做什么......但它基本上是为了看看我如何尝试访问子节点,也许会指出我的缺陷。
感谢您的阅读。
lastlogin
信息实际上是userinfo
节点的子节点,因此您需要再次使用 children()
方法来检索信息。请注意,在此示例中,我删除了 XML 命名空间,以便可以初始化$xml
$xmlstring = <<<XML
<masterxmlholder>
<userinfo login="user1">
<lastlogin code="0">Wed Dec 31 17:00:00 MST 1969</lastlogin>
</userinfo>
<userinfo login="user2">
<lastlogin code="4564568522258">Wed Dec 31 17:00:00 MST 1969</lastlogin>
</userinfo>
</masterxmlholder>
XML;
$xml = new SimpleXMLElement($xmlstring);
echo '<center><table>';
foreach ($xml->children() as $user) {
$name = $user['login'];
foreach ($user->children() as $child ) {
$lastlogin = $child;
}
echo '<tr><td> Name : </td><td>' . $name . $lastlogin . '</td></tr>';
}
echo '</table></center>';
我在这里测试了代码:http://writecodeonline.com/php/
旁注,我不会使用 center
标签,因为这是将演示文稿与内容混合在一起,这是不受欢迎的。请考虑使用 CSS 来设置表格样式和位置。