2xyo 2*yo = yoyo | Merci beaucoup !
Je résume :
lanf.xml :
Code :
- <?xml version="1.0"?>
- <media>
- <text id="titre">
- <fr>le jolie titre</fr>
- <en>the nice title</en>
- </text>
- <text id="balise">
- <fr>la premiere balise</fr>
- <en>the first tag</en>
- </text>
- </media>
|
xml.php5 :
Code :
- <?php
- $xml = simplexml_load_file('./lang.xml');
- print_r($xml);
- $lg = "en";
- $id = "titre";
- $titre = $xml->text[0]->$lg;
- print "<br/>lg = ".$lg."<br/>"
- ."id = ".$id."<br/>"
- ."titre = ".$titre
- ."<br/><br/>";
-
- $lg2 = "fr";
- $xptitre = $xml->xpath("//text[@id='titre']/".$lg2);
- $titre2 = utf8_decode(trim($xptitre[0]));
- print "<br/>lg2 = ".$lg2."<br/>"
- ."id = ".$id."<br/>"
- ."titre2 = ".$titre2;
- ?>
|
Qui nous donne : Code :
- SimpleXMLElement Object
- (
- [text] => Array
- (
- [0] => SimpleXMLElement Object
- (
- [fr] => le jolie titre
- [en] => the nice title
- )
- [1] => SimpleXMLElement Object
- (
- [fr] => la premiere balise
- [en] => the first tag
- )
- )
- )
- lg = en
- id = titre
- titre = the nice title
- lg2 = fr
- id = titre
- titre2 = le jolie titre
|
Donc c'est bon, ça fonctionne Maintenant, je vais chercher un peu avant de revenir vous embêter de trouver un moyen d'éviter de faire x fois ceci :
Code :
- $titre = $xml->text[0]->$lg;
- $balise = $xml->text[1]->$lg;
- $pied = $xml->text[2]->$lg;
- etc...
|
Je vais m'amuser avec les boucles...
En effet, j'ai trouver sur un forum ceci :
Code :
- $xml = simplexml_load_file('./lang.xml');
- // parcours de toutes les balises text
- foreach ($xml->text as $text) {
- $type = $text['id'];
- $contenu = $text->$lg;
- echo "$type : $contenu<br />";
- }
|
C'est un peut dans ce style mais pas vraiment ça... Je ne veux pas juste lister le contenu de mon fichier xml sous une "autre forme".
En effet voici un exmple avec mysql et PEAR que j'utilisais auparavant (je sais c'est pas très propre...) :
Code :
- $go = @$_GET['go'];
- if (isset($go) && file_exists("pages/".$go.".php" )){
- $go = str_replace("/",'',$go);
- $go = str_replace("\\",'',$go);
- }
- else {
- $go = "index";
- }
- require 'DB.php';
- $dsn = 'mysql://dbo116:ms3Nvbkz@d11.utun.com/db2116';
- $dbh = DB::connect($dsn);
- if (DB::isError($dbh)) { die ($dbh->getMessage());}
- $assoc = $dbh->getAssoc("SELECT * FROM meta WHERE page = '$go'" );
- DB::isError($assoc) and print 'erreur base de donnée'.$assoc->getMessage();
- echo "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Strict//EN\"\n"
- ."\"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd\">\n"
- ."<html xml:lang=\"fr\" xmlns=\"http://www.w3.org/1999/xhtml\">\n"
- ."\t<head>\n"
- ."\t\t<title>\n"
- ."\t\t\t".$assoc[$go][0]
- ."\n\t\t</title>\n"
- ."\t\t<meta http-equiv=\"content-type\" content=\"application/xhtml+xml; charset=iso-8859-1\" />\n"
- ."\t\t<meta http-equiv=\"expires\" content=\"0\" />\n"
- ."\t\t<meta http-equiv=\"content-language\" content=\"fr\" />\n"
- ."\t\t<meta http-equiv=\"pragma\" content=\"no-cache\" />\n"
- ."\t\t<meta name=\"author\" content=\"yoyo\" />\n"
- ."\t\t<meta name=\"keywords\" content=\"accueil, blog, potes, gnu, linux, hardware, site, contacte, liens, forum".$assoc[$go][2]."\" />\n"
- ."\t\t<meta name=\"description\" content=\"".$assoc[$go][1]."\" />\n"
- ."\t\t<meta name=\"revisit-after\" content=\"2 days\" />\n"
- ."\t\t<meta name=\"date\" content=\"".$assoc[$go][3]."T20:49:37+00:00\" />\n"
- ."\t\t<meta name=\"generator\" content=\"PSPad editor, www.pspad.com" />\n"
- ."\t\t<meta name=\"expires\" content=\"never\" />\n"
- ."\t\t<meta name=\"robots\" content=\"index,follow,noarchive\" />\n"
- ."\t\t<meta name=\"rating\" content=\"general\" />\n"
- ."\t\t<meta name=\"Date-Creation-yyyymmdd\" content=\"20041105\" />\n"
- ."\t\t<meta name=\"DC.Title\" content=\"".$assoc[$go][0]."\" />\n"
- ."\t\t<meta name=\"DC.Creator\" content=\"yoyo\" />\n"
- ."\t\t<meta name=\"DC.Subject\" content=\"".$assoc[$go][1]."\" />\n"
- ."\t\t<meta name=\"DC.Publisher\" content=\"yoyo\" />\n"
- ."\t\t<meta name=\"DC.Contributor\" content=\"yoyo\" />\n"
- ."\t\t<meta name=\"DC.Date\" content=\"".$assoc[$go][3]."\" />\n"
- ."\t\t<meta name=\"DC.Type\" content=\"texte\" />\n"
- ."\t\t<meta name=\"DC.Format\" content=\"text/html\" />\n"
- ."\t\t<meta name=\"DC.Identifier\" content=\"http://mysite.com\" />\n"
- ."\t\t<meta name=\"DC.Source\" content=\"all\" />\n"
- ."\t\t<meta name=\"DC.Language\" content=\"fr\" />\n"
- ."\t\t<meta name=\"DC.Relation\" content=\"index\" />\n"
- ."\t\t<meta name=\"DC.Coverage\" content=\"France\" />\n"
- ."\t\t<meta name=\"DC.Rights\" content=\"GNU sauf mentions contraires\" />\n"
- #."\t\t<link rel=\"stylesheet\" type=\"text/css\" media=\"all\" href=\"./style/lightblack.css\" />\n"
- ."\t\t<link rel=\"stylesheet\" type=\"text/css\" media=\"all\" href=\"./style/".$fstyle.".css\" />\n"
- ."\t</head>\n"
|
Je cherche à avoir le même procédé d'utilisation, voir encor plus simple si c'est possible. |