Parser un xml qui n'as que des attribut.

Eléphanteau du PHP | 13 Messages

12 avr. 2013, 17:00

Bonjour,
j'ai un document xml, qui n'a que des attributs.
J'aimerai pouvoir parser ce xml, j'arrive à le faire quand il y a des valeur mais pas quand il y a que des attribut.

Voilà mon xml :

Code : Tout sélectionner

<?xml version="1.0" encoding="utf-8"?> <QuestionnaireConfiguration> <Title text="Confidential Personal questionnaire"/> <Page legend="Your background as a contoller" description="Q1 - P1"> <Line type="QUESTION" text="At which ATC center do you work ?"/> </Page> <Page legend="Usability of TOPSKY HMI" description="Q1 - P2"> <Line type="QUESTION" text="HMI Usabilit is ?-Q1"> <input type="radio" name="Q1-Usability" value="Very High"/> <input type="radio" name="Q1-Usability" value="High" /> </Line> </Page> </QuestionnaireConfiguration>
Et voilà ce que j'aimerais avoir :

Title : Confidential Personnal questionnaire

Titre de la page : Your background as a controller
Description de la page : Q1 - P1
Type de la ligne : Question
Nom de la question : At which ATC center do you work ?
Titre de la page : Usability of TOPSKY HMI
Description de la page : Q1 - P2
Type de la ligne : Question
Nom de la question : HMI Usabilit is ?-Q1
Type de réponse : radio
Nom de la réponse : Q1-Usability
Valeur de la réponse : Very Hight
Type de réponse : radio
Nom de la réponse : Q1-Usability
Valeur de la réponse : Hight

Merci d'avance pour votre aide :)

Eléphant du PHP | 353 Messages

13 avr. 2013, 10:00

Tu fais comment quand il n'y a que des valeurs ?
Je ne sais pas ce que tu utilises mais as-tu essayé simplexml ?

Eléphanteau du PHP | 13 Messages

22 avr. 2013, 09:42

J'utilise le DomPHP,
Pour les valeur, j'ai utilisé ce tuto en enlevant toutes la partie mise en forme

http://www.siteduzero.com/informatique/ ... rte-de-dom

Merci pour votre aide


Edit, voilà ce que j'ai essayé avec un autre xml :

Livre.xml :

<?xml version="1.0" encoding="ISO-8859-1"?>

<bibliotheque>
	<livre genre="romance">
		<bouquin titre="Je l'aimais" auteur="Anna Gavalda"/>
		<bouquin titre="L'écume des jours" auteur="Boris Vian"/>
	</livre>
	<livre genre="aventure">
		<bouquin titre="Le tour du monde en 80 jours" auteur="Jules Verne"/>
		<bouquin titre="L'or sous la neige" auteur="Nicolas Vanier"/>
	</livre>
</bibliotheque>

parse.php
<?php 

$dom = new DOMDocument;
$dom->load( 'livre.xml' );

foreach( $dom->getElementsByTagName( 'livre' ) as $livre ) {
    echo $livre->getAttribute( 'genre' );

    foreach( $livre->childNodes as $bouquin ) {
    	echo $bouquin->getAttribute( 'titre' );
	}
}

?>
Évidement ça ne marche pas, mais je pense que c'est quelque chose du genre, où alors je me complique la vie (ce qui est bien possible aussi)