[php] Comment parser un fichier xml
Résolu
SRN
Messages postés
95
Date d'inscription
Statut
Membre
Dernière intervention
-
anon -
anon -
Bonjour,
eeeh oui c'est encore moi !!!! :-))
J'ai deux questions pour vous tous !!!
1ère
Comment est-ce que je peux faire pour parser un fichier xml en php ?!??
voici le fichiers xml, il s'appelle toto.xml
<?xml version="1.0" encoding="iso-8859-15" ?>
- <configuration>
- <application>
<category_id>10</category_id>
<description>7-Zip is a file archiver with high compression ratio. 7-Zip is free software distributed under the GNU </description>
<installer_name>7Zip.v4.42.msi</installer_name>
<installer_remote_url id="0">https://www.swisslos.ch/de/sporttip/sportwetten/wetten.html
<name>7-Zip</name>
<version>4.42.0.0</version>
</application>
</configuration>
et je veux récuper les infos de toutes les catégories (tous les tags)
Comment faire, je ne m'y connais pas trop, je sais qu'il faut utiliser un parseur , mais je sais pas trop !?!?
2ème
Comment faire pour parser une arboresence en php
Je ne sais pas comment faire non plus !?!?
Je vous remercie d'avance pour votre précieuse aide, mais j'aimerais qu'il n'y aie que des réponses (solutions) avec du php !!!
MERCI BIEN à tous
@+
SRN
eeeh oui c'est encore moi !!!! :-))
J'ai deux questions pour vous tous !!!
1ère
Comment est-ce que je peux faire pour parser un fichier xml en php ?!??
voici le fichiers xml, il s'appelle toto.xml
<?xml version="1.0" encoding="iso-8859-15" ?>
- <configuration>
- <application>
<category_id>10</category_id>
<description>7-Zip is a file archiver with high compression ratio. 7-Zip is free software distributed under the GNU </description>
<installer_name>7Zip.v4.42.msi</installer_name>
<installer_remote_url id="0">https://www.swisslos.ch/de/sporttip/sportwetten/wetten.html
<name>7-Zip</name>
<version>4.42.0.0</version>
</application>
</configuration>
et je veux récuper les infos de toutes les catégories (tous les tags)
Comment faire, je ne m'y connais pas trop, je sais qu'il faut utiliser un parseur , mais je sais pas trop !?!?
2ème
Comment faire pour parser une arboresence en php
Je ne sais pas comment faire non plus !?!?
Je vous remercie d'avance pour votre précieuse aide, mais j'aimerais qu'il n'y aie que des réponses (solutions) avec du php !!!
MERCI BIEN à tous
@+
SRN
A voir également:
- [php] Comment parser un fichier xml
- Fichier bin - Guide
- Comment réduire la taille d'un fichier - Guide
- Comment ouvrir un fichier epub ? - Guide
- Fichier rar - Guide
- Fichier .dat - Guide
4 réponses
Salut tout le monde !!!
alors j'ai trouvé finalement tout seul !!
pour le php 5 c'est trop facile voici le code qui permet de récupérer le texte qui est entre les tags d'ouvertures et de fermeture
<?php
//Pour php5
$url = 'http://www.toto.ch/logiciels/free/7-Zip/7-zip-multilanguage-4.42.0.0.xml';
//$url='exploration.xml';
$rss_file = file_get_contents($url);
$xml = new SimpleXMLElement($rss_file);
echo $xml->application[0]->name;
echo'<br>';
echo'<br>';
echo $xml->application[0]->version;
echo'<br>';
echo'<br>';
echo $xml->application[0]->installer_remote_url;
echo'<br>';
echo'<br>';
echo $xml->application[0]->description;
?>
Pour php 4 c'est quand même plus difficile, j'ai du plus me creuser !! mais voici le code quand même ::
<?php
$xmlstr= ''; //c'est la chaîne de caractère qui se trouve dans le xml en fait
if (!$dom = domxml_open_mem($xmlstr)) {
echo "Erreur pendant le parsage du document\n";
exit;
}
$root = $dom->document_element();
$node_array = $root->get_elements_by_tagname('name');
foreach ($node_array as $node) {
echo $node->get_content() . "\n";
}
print("<br>");
print("<br>");
$root = $dom->document_element();
$node_array = $root->get_elements_by_tagname('version');
foreach ($node_array as $node) {
echo $node->get_content() . "\n";
}
print("<br>");
print("<br>");
$root = $dom->document_element();
$node_array = $root->get_elements_by_tagname('installer_remote_url');
foreach ($node_array as $node) {
echo $node->get_content() . "\n";
}
print("<br>");
print("<br>");
$root = $dom->document_element();
$node_array = $root->get_elements_by_tagname('description');
foreach ($node_array as $node) {
echo $node->get_content() . "\n";
}
?>
et voilà pour le parsing, je n'ai pas encore trouvé mais je vais le mettre dans une autre rubrique !!
@++
alors j'ai trouvé finalement tout seul !!
pour le php 5 c'est trop facile voici le code qui permet de récupérer le texte qui est entre les tags d'ouvertures et de fermeture
<?php
//Pour php5
$url = 'http://www.toto.ch/logiciels/free/7-Zip/7-zip-multilanguage-4.42.0.0.xml';
//$url='exploration.xml';
$rss_file = file_get_contents($url);
$xml = new SimpleXMLElement($rss_file);
echo $xml->application[0]->name;
echo'<br>';
echo'<br>';
echo $xml->application[0]->version;
echo'<br>';
echo'<br>';
echo $xml->application[0]->installer_remote_url;
echo'<br>';
echo'<br>';
echo $xml->application[0]->description;
?>
Pour php 4 c'est quand même plus difficile, j'ai du plus me creuser !! mais voici le code quand même ::
<?php
$xmlstr= ''; //c'est la chaîne de caractère qui se trouve dans le xml en fait
if (!$dom = domxml_open_mem($xmlstr)) {
echo "Erreur pendant le parsage du document\n";
exit;
}
$root = $dom->document_element();
$node_array = $root->get_elements_by_tagname('name');
foreach ($node_array as $node) {
echo $node->get_content() . "\n";
}
print("<br>");
print("<br>");
$root = $dom->document_element();
$node_array = $root->get_elements_by_tagname('version');
foreach ($node_array as $node) {
echo $node->get_content() . "\n";
}
print("<br>");
print("<br>");
$root = $dom->document_element();
$node_array = $root->get_elements_by_tagname('installer_remote_url');
foreach ($node_array as $node) {
echo $node->get_content() . "\n";
}
print("<br>");
print("<br>");
$root = $dom->document_element();
$node_array = $root->get_elements_by_tagname('description');
foreach ($node_array as $node) {
echo $node->get_content() . "\n";
}
?>
et voilà pour le parsing, je n'ai pas encore trouvé mais je vais le mettre dans une autre rubrique !!
@++
effectivement, kij_82
Merci pour ton aide, je ne sais ps si je vais réussir à modifier le code qui se trouve dans ce lien
si je n'arrive pas à le modifier je te redemanderais
@+
Merci pour ton aide, je ne sais ps si je vais réussir à modifier le code qui se trouve dans ce lien
si je n'arrive pas à le modifier je te redemanderais
@+
re salut,
tu n'aurais pas un exemple un peu plus simple, je veux juste afficher ce qui se trouve dans les tags name, version
@+
tu n'aurais pas un exemple un peu plus simple, je veux juste afficher ce qui se trouve dans les tags name, version
@+
Parser un fichier xml en PHP :
Rien de mieux qu'un bon exemple pour t'inspirer je pense :
http://fushia75.free.fr/article.php3?id_article=99
Pour ce qui est du parsing de l'arborescance... je n'ai jamais eu besoin d'en faire donc je ne me suis jamais penché dessus, mais si tu as quelques notions d'algorithmie tu dois pouvoir faire tes propres fonctions pour parcourrir de facon récursive un répertoire (et ses sous répertoires donc) afin de construire une "structure"q ui met en relation ces différents fichiers / dossiers, et ainsi le afficher d'une certaine manière sur ta page.
Bon courage.
Rien de mieux qu'un bon exemple pour t'inspirer je pense :
http://fushia75.free.fr/article.php3?id_article=99
Pour ce qui est du parsing de l'arborescance... je n'ai jamais eu besoin d'en faire donc je ne me suis jamais penché dessus, mais si tu as quelques notions d'algorithmie tu dois pouvoir faire tes propres fonctions pour parcourrir de facon récursive un répertoire (et ses sous répertoires donc) afin de construire une "structure"q ui met en relation ces différents fichiers / dossiers, et ainsi le afficher d'une certaine manière sur ta page.
Bon courage.
blém: supposant qu'on a un fichier quelconque, et qu'on voudrait afficher son contenu