无法使用PHP访问XML元素

无法使用PHP访问XML元素,php,xml,simplexml,Php,Xml,Simplexml,我正在用PHP处理一长段XML。我试图获得一个特定的值,但有一个问题: $diag_data = simplexml_load_file($diagnostics); print_r($diag_data->category->category[2]->measure[3]); 输出: SimpleXMLElement Object ( [name] => Memory [value-list] => SimpleXMLElement Objec

我正在用PHP处理一长段XML。我试图获得一个特定的值,但有一个问题:

$diag_data = simplexml_load_file($diagnostics);

print_r($diag_data->category->category[2]->measure[3]);
输出:

SimpleXMLElement Object
(
    [name] => Memory
    [value-list] => SimpleXMLElement Object
        (
            [item] => Array
                (
                    [0] => SimpleXMLElement Object
                        (
                            [name] => allocated memory
                            [value] => 3,354 MB
                        )

                    [1] => SimpleXMLElement Object
                        (
                            [name] => free memory
                            [value] => 2,165 MB
                        )

                    [2] => SimpleXMLElement Object
                        (
                            [name] => maximum memory
                            [value] => 10,923 MB
                        )

                    [3] => SimpleXMLElement Object
                        (
                            [name] => total free memory
                            [value] => 9,734 MB
                        )

                )

        )

)
PHP Parse error:  syntax error, unexpected ')', expecting '(' in /var/www/html/xmltester.php on line 17
然后我试试这个:

print_r($diag_data->category->category[2]->measure[3]->value-list);
输出:

SimpleXMLElement Object
(
    [name] => Memory
    [value-list] => SimpleXMLElement Object
        (
            [item] => Array
                (
                    [0] => SimpleXMLElement Object
                        (
                            [name] => allocated memory
                            [value] => 3,354 MB
                        )

                    [1] => SimpleXMLElement Object
                        (
                            [name] => free memory
                            [value] => 2,165 MB
                        )

                    [2] => SimpleXMLElement Object
                        (
                            [name] => maximum memory
                            [value] => 10,923 MB
                        )

                    [3] => SimpleXMLElement Object
                        (
                            [name] => total free memory
                            [value] => 9,734 MB
                        )

                )

        )

)
PHP Parse error:  syntax error, unexpected ')', expecting '(' in /var/www/html/xmltester.php on line 17

我不明白,我试着用单引号和双引号括起来,但都没用。我也试过花括号。我做错了什么?

当键名包含连字符时,需要使用特殊语法
{”“}
才能访问该属性:

print_r($diag_data->category->category[2]->measure[3]->{"value-list"});

谢谢我不知道这是正确的语法