Mały problem z parsowaniem
parser xml wygląda tak:
$xml = new XMLReader(); $xml->open($dane); $count=0; while($xml->read()) { if($xml->nodeType == XMLReader::ELEMENT) { $name = $xml->name; if ($xml->name == 'PRODUCT') { } } if($xml->nodeType == XMLReader::TEXT || $xml->nodeType == XMLReader::CDATA) { } if($xml->nodeType == XMLReader::END_ELEMENT) { if ($xml->name == 'PRODUCT') { $count++; } } }
struktura xml wygląda tak
<PRODUCTS> <PRODUCT> (...) <PERSONS> <PERSON role="autor"> <![CDATA[AUTOR]]> </PERSON> <PERSON role="tłumacz"> <![CDATA[TŁUMACZ]]> </PERSON> <PERSON role="tłumacz"> <![CDATA[TŁUMACZ1]]> </PERSON> </PERSONS> (...) </PRODUCT> </PRODUCTS>
Parserw zwraca tablice z tagiem
PERSON -> TŁUMACZ1
Pomimo ze PERSONS zawierają AUTORA i jescze jednego TŁUMACZA
Czy da sie to jakoś wcyiągnąć tym parserem ?