Php et xml

Fermé
loicone - 15 avril 2009 à 00:02
 loicone - 15 avril 2009 à 10:25
Bonjour,

j'ai un site à faire dans lequel je me sert d'une base de données xml (eXist). J'aimerai affiché dans une page HTML généré en PHP du code XML en utilisant une feuille de style xslt.

J'ai testé plusieurs choses :

1) solution avec API eXist PHP :

$query = 'for $line in //book where $line/issue/@date >= "'.date ("Y-m-d", $date_news). '"
return
<book>
{ $line/titre }
{ $line/author }
{ $line/price }
</book>';

$db->setHighlight(FALSE);
$result = $db->xquery($query) or die ($db->getError());
# Get results
$hits = $result["HITS"];
$queryTime = $result["QUERY_TIME"];
$collections = $result["COLLECTIONS"];

# Show results

$xmlToParse = " <results>";

if ( !empty($result["XML"]) )
foreach ( $result["XML"] as $xml){
$xmlToParse .= $xml;
}

$xmlToParse .= "</results>";

echo $xmlToParse;

$xsl = "./API_PHP_Exist/xsl/nouveautes.xsl";
$result = getXsltResult($xsl,$xmlToParse,false);
echo $result;

$db->disconnect();

=>Résultat : mon fichier xml doit m'afficher le résultat dans un tableau et il m'affiche que le tableau sans les données dedans. (les données génerées s'affiche correctement si on les mets dans un fichier xml associé au fichier XSLT)

2)solution autre

$query = 'for $line in //book where $line/issue/@date >= "'.date ("Y-m-d", $date_news). '"
return
<book>
{ $line/titre }
{ $line/author }
{ $line/price }
</book>';

$db->setHighlight(FALSE);
$result = $db->xquery($query) or die ($db->getError());

touch("file.xml");
$fp=fopen("file.xml","w");
fwrite($fp,"<?xml version=\"1.0\" encoding=\"ISO-8859-1\"?>\n
<?xml-stylesheet type='text/xsl' href='nouveautes.xsl'?>\n");

fwrite($fp,"<results>\n");
# Show results

//print_r($result["XML"]);
if ( !empty($result["XML"]) )
foreach ( $result["XML"] as $xml){
fwrite($fp,$xml."\n");
}

fwrite($fp,"</results>\n");

header('Location: file.xml');

=>Resultat : ça me retourne un fichier xml présenté avec mon fichier XSLT mais il ne s'affiche pas dan sma page HTML comme je voudrais.


Si quelqu'un connait une astuce je suis preneur.

Merci.
A voir également:

2 réponses

N@th@ Messages postés 97 Date d'inscription lundi 19 janvier 2009 Statut Membre Dernière intervention 7 mai 2009 12
15 avril 2009 à 08:41
Une question : pourquoi utilise tu html/xslt et PHP/eXist et pas xHtml/CSS et PHP/MySQL
0
Parce que c'est un projet pour les cours et qu'il faut utiliser une base de données XML et mettre en forme avec XSLT. Je sais c'est complètement pourri mais bon... Moi j'utilise toujours PHP/MySQL et là je sais pas trop comment ça fonctionne.
0