使用PHP获取命名属性值的XMLREADER

使用PHP获取命名属性值的XMLREADER,php,xmlreader,Php,Xmlreader,我正在使用XMLREADER和PHP来解析XML文件。我需要更改代码以获取属性的值 XML: <color eye="Green eyes" ethnicity="" hair="Brown Hair"/> 我也尝试过: elseif($xml->nodeType == XMLReader::ELEMENT && $xml->name == 'color') { $value4[] = $xml->getAttribute('eye

我正在使用XMLREADER和PHP来解析XML文件。我需要更改代码以获取属性的值

XML:

<color eye="Green eyes" ethnicity="" hair="Brown Hair"/>
我也尝试过:

elseif($xml->nodeType == XMLReader::ELEMENT && $xml->name == 'color') {
        $value4[] = $xml->getAttribute('eye');
        $r4 = array_values($value4);
    }
使用上面的代码,我能够获得“eye”属性值,但是当我将()中的内容更改为“hair”时,我什么也没有得到


在我尝试过的两种方法中,哪一种是正确的,如果有,以及我做错了什么?提前谢谢。

您需要解析大文件吗?如果不是,simpleXML或DomDocument将非常有用easier@AlexBarroso是的,不幸的是我确实需要解析大文件
elseif($xml->nodeType == XMLReader::ELEMENT && $xml->name == 'color') {
        $value4[] = $xml->getAttribute('eye');
        $r4 = array_values($value4);
    }