每次点击id=
中没有值的链接时,我都无法得到xml元素的属性值,但是当查看我的xml有一个属性值时,为什么会发生这种情况我错过了什么?< / p>
这是我的PHP代码:
<?php
function parse_recursive(SimpleXMLElement $element, $level = 0)
{
$indent = str_repeat('', $level);
$value = trim((string) $element);
$children = $element->children();
$attributes = $element->attributes();
echo '<ul>';
if(count($children) == 0 && !empty($value))
{
if($element->getName() == 'GroupName'){
echo '<li><a href="http://localhost:8080/test/test.php?id=';
if(count($attributes) > 0)
{
foreach($attributes as $attribute)
{
if($attribute->getName() == 'Id'){
echo $attribute;
}
}
}
echo '">'.$element.'</a></li>';
}
}
if(count($children))
{
foreach($children as $child)
{
parse_recursive($child, $level+1);
}
}
echo '</ul>';
}
$xml = new SimpleXMLElement('main.xml', null, true);
parse_recursive($xml);
?>
这是我的xml结构:
答案 0 :(得分:1)
您的代码似乎只会为GroupName
元素输出任何内容:
if($element->getName() == 'GroupName'){
,它只会输出Id
元素的GroupName
属性。
源XML中的单个GroupName
没有Id
属性。