0

我无法获取 xml 元素的属性值,因为每次单击链接时都没有值,id=但是当查看我的 xml 时有一个属性值,为什么会发生这种情况我错过了什么?

这是我的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结构:

在此处输入图像描述

4

1 回答 1

1

您的代码似乎只会为GroupName元素输出任何内容:

if($element->getName() == 'GroupName'){

它只会输出元素的Id属性。GroupName

源 XML 中的单曲GroupName没有Id属性。

于 2013-02-12T03:39:00.870 回答