Bonjour à vous tous,
Tout est dans mon titre, je galère depuis une semaine pour faire quelque chose de propre et qui marche, mais je n'y arrive pas. Je n'arrive pas à récupérer les lignes xml de mon fichier results.xml pour les mettres dans mon fichier results4.xml.
Mon code:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
<?php
//#################################################################################################
 
    $fichier = "http://omami.free.fr/results.xml";
 
//#################################################################################################
 
    function fonctionBaliseOuvrante($parseur, $nomBalise, $tableauAttributs)
    {
        // En fait... nous nous conteterons de mémoriser le nom de la balise
        // afin d'en tenir compte dans la fonction "fonctionTexte"
 
        global $derniereBaliseRencontree;
	global $xml;
 
        $derniereBaliseRencontree = $nomBalise;
    }
 
//#################################################################################################
 
    function fonctionBaliseFermante($parseur, $nomBalise)
    {
        // On oublie la dernière balise rencontrée
 
	global $derniereBaliseRencontree;
	global $xml;
 
        $derniereBaliseRencontree = "";
    }
 
//#################################################################################################
 
    function fonctionTexte($parseur, $texte)
    {
        global $derniereBaliseRencontree;
	global $xml;
 
        // Selon les cas, nous affichons le texte
        // ou nous proposons un lien
        // ATTENTION: Par défaut les noms des balises sont
        //            mises en majuscules
 
        switch ($derniereBaliseRencontree) {
 
		case "pseudo": 
                $xml='<pseudo>'.$texte.'</pseudo>';
                break;
 
		case "pubDate": 
                $xml.='<pubDate>'.$texte.'</pubDate>';
                break;
 
		case "title": 
                $xml.='<title>'.$texte.'</title>';
                break;
 
		case "description": 
                $xml.='<description>'.$texte.'</description>';
                break;
 
		case "link":
                $xml.='<link>'.$texte.'</link>';
                break;
 
		case "geo:lat":
                $xml.='<geo:lat>'.$texte.'</geo:lat>';
                break;
 
		case "geo:long":
                $xml.='<geo:long>'.$texte.'</geo:long>';
                break;
        }
	return $xml;         
    }
 
//#################################################################################################
 
	function ecriturefichier($fichierecriture, $b)
    {
        global $derniereBaliseRencontree;
       	global $xml;
 
	$fileaecrire= fopen($fichierecriture,"w+");
	$_xml1='<?xml version="1.0" encoding="iso-8859-1" standalone="yes"?>'; 
	$_xml1.='<rss version="2.0" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:dc="http://purl.org/dc/elements/1.1/">';
	$_xml1.='<channel>';
	$_xml1.='<title>Listing of Omami</title>';
	$_xml1.='<description>Listing</description>';
	$_xml1.='<link>http://omami.free.fr/</link>';
	$_xml1.='<dc:publisher>Site Omami</dc:publisher>';
	$_xml1.='<pubDate>'.date('d/m/Y').'</pubDate>';
 
	$_xml2='</channel>';
	$_xml2.='</rss>';
 
	$aa=$_xml1.$b.$_xml2;
	fwrite($fileaecrire,$aa);
 	fclose($fileaecrire);
    }
 
//#################################################################################################
    // Création du parseur XML
    $parseurXML = xml_parser_create();
 
    // Je précise le nom des fonctions à appeler
    // lorsque des balises ouvrantes ou fermantes sont rencontrées
    xml_set_element_handler($parseurXML, "fonctionBaliseOuvrante", "fonctionBaliseFermante");
 
    // Je précise le nom de la fonction à appeler
    // lorsque du texte est rencontré
    xml_set_character_data_handler($parseurXML, "fonctionTexte");
 
    // Ouverture du fichier
    $fp = fopen($fichier, "r");
    if (!$fp) die("Impossible d'ouvrir le fichier XML");
 
    // Lecture ligne par ligne
    while ( $ligneXML = fgets($fp, 1024)) {
        // Analyse de la ligne
        // REM: feof($fp) retourne TRUE s'il s'agit de la dernière
        //      ligne du fichier.
 
	xml_parse($parseurXML, $ligneXML, feof($fp)) or
            die("Erreur XML");
 
    }
 
    xml_parser_free($parseurXML);
    fclose($fp);
 
    ecriturefichier('results4.xml',$xml);
    echo "XML has been written.<a href='results4.xml'>View the XML.</a>";	
?>
Je n'arrive pas à sortir la variable de ma fonction. L'erreur doit être énorme, mais je ne la vois pas.

Merci par avance pour la réponse,

A+ Stéphane