Page 1 sur 1

createElement et appendChild link défaillant

Posté : 13 juil. 2007, 09:14
par AVI3000
Bonjour,

Ce code ne créé pas l'élément link
$head = $xpath->query('//head')->item(0) ;
$link = $doc->createElement("link") ;
$link ->setAttribute("rel", "stylesheet") ;
$link ->setAttribute("type", "text/css") ;
$link ->setAttribute("href", "css/this.screen.css") ;
$head->appendChild($link);
mais celui-ci crée l'élément xxxlink
$head = $xpath->query('//head')->item(0) ;
$link = $doc->createElement("xxxlink") ;
$link ->setAttribute("rel", "stylesheet") ;
$link ->setAttribute("type", "text/css") ;
$link ->setAttribute("href", "css/this.screen.css") ;
$head->appendChild($link);
un élément xxxlink ne me sert évidemment à rien
par contre link c'est pas la même :!: :!: :!:

Posté : 13 juil. 2007, 10:32
par Hubert Roksor
Mmh... chez moi ça marche. Prends l'habitude de donner un exemple qu'on peut réutiliser directement si tu veux maximiser tes chances d'avoir une réponse.

Essaie à partir de mon exemple, voir ce qui diffère et qui ne fonctionne pas
$doc = new DOMDocument;
$doc->loadXML('<html><head /><body /></html>');

$head = $doc->getElementsByTagName('head')->item(0);
$link = $doc->createElement("link");
$link->setAttribute("rel", "stylesheet");
$link->setAttribute("type", "text/css");
$link->setAttribute("href", "css/this.screen.css");
$head->appendChild($link);

echo $doc->saveXML();

Posté : 13 juil. 2007, 11:56
par AVI3000
à vouloir être trop clair dans mes citations de code,
il m'arrive d'oublier l'essentiel.
je suis reparti de ton code, en le modifiant pas à pas

et ce code fonctionne
$doc = new DOMDocument;
@$doc->loadHTMLFile('http://www.lequipe.fr/Rugby/20070713_112353Dev.html');

$xpath = new DOMXPath($doc);
$head = $xpath->query('//head')->item(0) ;
$link = $doc->createElement("link");
$link->setAttribute("rel", "stylesheet");
$link->setAttribute("type", "text/css");
$link->setAttribute("href", "css/this.screen.css");
$head->appendChild($link);

echo utf8_decode($doc->saveHTML());
pourquoi ça ne fonctionne pas dans ma page originale :?:
pour l'instant je laisse ça dans la catégorie mystère informatiques

Merci

Posté : 13 juil. 2007, 12:02
par Ryle
Ce ne serait pas l'espace que tu avais laissé entre la variable et la flèche qui aurait pu poser problème ?

Posté : 13 juil. 2007, 12:20
par AVI3000
Ce ne serait pas l'espace que tu avais laissé entre la variable et la flèche qui aurait pu poser problème ?
Bravo, bien vu

la tête dans le guidon et le copié-collé foireux

c'est donc doublement résolu