getDocumentElement(); -- Non ! Pas en PHP... // $rac = $depart->getNodeName(); Non ! Pas en PHP $depart = $doc->getElementsByTagName("liste")->item(0); $rac = "liste"; $res = new DOMDocument(); $r_rac = $res->createElement($rac); $res->appendChild($r_rac); $les_eleves = $depart->getElementsByTagName("eleve"); foreach( $les_eleves as $l_eleve ){ // foreach marche avec NodeList ! //lecture $le_nom = $l_eleve->getAttribute("nom"); $la_note = $l_eleve->getAttribute("note"); //construction $r_eleve = $res->createElement("eleve"); $r_rac->appendChild($r_eleve); $r_nom = $res->createElement("nom"); $r_eleve->appendChild($r_nom); $r_nom->appendChild($res->createTextNode($le_nom)); $r_note = $res->createElement("note"); $r_eleve->appendChild($r_note); $r_note->appendChild($res->createTextNode($la_note)); } return $res; }// transformer function UnVersDeux($fichIn, $fichOut){ $doc = new DOMDocument(); $doc->load($fichIn); $res = transformer($doc); $res->save($fichOut); }//UnVersDeux UnVersDeux($argv[1], "php://stdout"); ?>