|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||||
|
Membre habitué
![]() Inscription : décembre 2007 Messages : 579 ![]() |
Bonjour,
Je suis entrain de développer une fonction qui lira un document XML pour de l'internationalisation. C'est la première dois que je lis un XML en PHP, je lutte ^^ voici la forme de mon XML : Code :
J'ai commencé un code en PHP : Code :
|
||||
|
|
00
|
|
|
#2 | ||
|
Membre habitué
![]() Inscription : décembre 2007 Messages : 579 ![]() |
J'ai essayé un autre code :
Code :
ATTENTION ! J'ai temporairement changé les ID des balises msg ! les ID sont désormais 1 et 2. |
||
|
|
00
|
|
|
#3 |
![]() ![]() Sébastien Ingénieur réalisateur Inscription : mars 2011 Messages : 776 ![]() |
Bonjour,
Je suis loin d'être un pro pour la lecture de XML, mais pourquoi mettre un paramètre $langue à ta fonction si tu ne l'utilises finalement pas ?
__________________
- Avant toute chose : lire le mode d'emploi du forum et ses règles. - avant de poster ![]() - Je ne réponds pas aux questions techniques en MP. |
|
|
00
|
|
|
#4 |
![]() ![]() ![]() Didier MouronvalDéveloppeur Web Inscription : juin 2008 Messages : 13 807 ![]() |
Attention, XML, ce n'est pas HTML, il ne suffit pas de mettre un attribut id pour qu'il soit de type id
DOMDocument::getElementById
__________________
Pas de question technique par MP ! Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi ! Vous possédez un blog et aimeriez diffuser vos billets sur le forum, contactez-moi ! Mes formations video2brain : La formation complète sur JavaScript • JavaScript et le DOM par la pratique • PHP 5 et MySQL : les fondamentaux Mon livre sur jQuery
|
|
00
|
|
|
#5 |
|
Membre habitué
![]() Inscription : décembre 2007 Messages : 579 ![]() |
FirePrawn :
Je découvre à peine la lecture du XML en php, alors je fais ma fonction pas à pas. Bon, si on reprend mon xml tout en faut ... je passe en paramètre l'id, et je dois retourner la traduction (variable $language). Bovino : J'ai déja lu cette page du manuel PHP, je n'ai pas avancé pour autant :/ J'attends vos suggestions svp. |
|
|
00
|
|
|
#6 |
![]() ![]() ![]() Didier MouronvalDéveloppeur Web Inscription : juin 2008 Messages : 13 807 ![]() |
Etant donnée la nature de ce que tu essayes de faire et de la façon de récupérer les infos, je te conseillerais plutôt l'utilisation de simplexml avec une requête XPath...
Sinon, ton second code n'a aucune raison de fonctionner puisqu'à priori, tu n'as pas de balise avec attributs de type id, quant au premier, la fonction read() ne retourne rien... donc son utilité en l'état est assez limitée
__________________
Pas de question technique par MP ! Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi ! Vous possédez un blog et aimeriez diffuser vos billets sur le forum, contactez-moi ! Mes formations video2brain : La formation complète sur JavaScript • JavaScript et le DOM par la pratique • PHP 5 et MySQL : les fondamentaux Mon livre sur jQuery
|
|
00
|
|
|
#7 |
|
Membre habitué
![]() Inscription : décembre 2007 Messages : 579 ![]() |
Bovino :
ma fonction ne retourne rien car ... elle n'est pas fini. Je cherche à comprendre comment tout ça fonctionne. je lutte, je n'y arrive pas ... Un petit coup de main serait le bienvenue. J'essaie de coder avec simplexml mais je bloque... Pourriez-vous m'aider à écrire le code svp ? |
|
|
00
|
|
|
#8 |
![]() ![]() ![]() Didier MouronvalDéveloppeur Web Inscription : juin 2008 Messages : 13 807 ![]() |
__________________
Pas de question technique par MP ! Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi ! Vous possédez un blog et aimeriez diffuser vos billets sur le forum, contactez-moi ! Mes formations video2brain : La formation complète sur JavaScript • JavaScript et le DOM par la pratique • PHP 5 et MySQL : les fondamentaux Mon livre sur jQuery
|
|
00
|
|
|
#9 |
|
Membre habitué
![]() Inscription : décembre 2007 Messages : 579 ![]() |
merci.
mais apparemment, un id composé d'une chaine de caractère "Vous êtes déconnecté." est irrecevable. Je m'y attendais... J'ai pas mal de difficulté à m'en sortir :/ |
|
|
00
|
|
|
#10 | ||
|
Membre habitué
![]() Inscription : décembre 2007 Messages : 579 ![]() |
pour des raisons de simplicité, j'ai changé la structure de mon XML :
Code :
|
||
|
|
00
|
|
|
#11 |
![]() ![]() ![]() Didier MouronvalDéveloppeur Web Inscription : juin 2008 Messages : 13 807 ![]() |
Ben non, là ça va être plus compliqué puisque tu devras parcourir tous les noeuds pour vérifier s'ils correspondent au message souhaité.
Le plus simple aurait été de renommer les id de ta version précédente pour qu'ils correspondent à un mot clé désignant la phrase cherchée...
__________________
Pas de question technique par MP ! Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi ! Vous possédez un blog et aimeriez diffuser vos billets sur le forum, contactez-moi ! Mes formations video2brain : La formation complète sur JavaScript • JavaScript et le DOM par la pratique • PHP 5 et MySQL : les fondamentaux Mon livre sur jQuery
|
|
00
|
|
|
#12 |
|
Membre habitué
![]() Inscription : décembre 2007 Messages : 579 ![]() |
malheureusement, le critère de recherche reste cette chaine de caractère...
La base SQL sur laquelle je travaille a été créée avec la méthode "à l'arrache" plutôt que la méthode merise ... Je dois donc utiliser mes paramètres ... Je vous jure, je deviens dingue :/ |
|
|
00
|
|
|
#13 | ||||
|
Membre habitué
![]() Inscription : décembre 2007 Messages : 579 ![]() |
je suis reparti sur votre bout de code Bovino !
J'ai apporté quelques modifications : Pour éviter le problème avec les ID, j'ai encrypté en md5 les valeurs des ID. Voici donc mon code XML : Code :
Code :
Code :
array(1) { [0]=> object(SimpleXMLElement)#2 (2) { ["@attributes"]=> array(1) { ["code"]=> string(2) "en" } [0]=> string(21) "You are disconnected." } }
|
||||
|
|
00
|
|
|
#14 | ||
|
Membre habitué
![]() Inscription : décembre 2007 Messages : 579 ![]() |
voici mon résultat final :
Code :
|
||
|
|
00
|
|
|
#15 | |||
|
Membre habitué
![]() Inscription : décembre 2007 Messages : 579 ![]() |
Désormais je dois ajouter une fonction write. Elle fonctionne quasiment, seul 2 lignes me posent problème :
Code :
Citation:
|
|||
|
|
00
|
|
|
#16 |
|
Membre habitué
![]() Inscription : décembre 2007 Messages : 579 ![]() |
j'ai trouvé !
voici de quoi remplacer la ligne défectueuse : Code :
$NewTranslation = $element[0]->addChild('lang', $translated_word);
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com