PHP/XML Lister les attributs d'une balise

Résolu
arthezius Messages postés 3538 Date d'inscription   Statut Membre Dernière intervention   -  
arthezius Messages postés 3538 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Je code un script pour manipuler du XML.
Je bug toutefois sur un point précis et malgré quelques recherches, je n'ai pas vraiment trouvé ce que je veux.
Je ne contrôle pas vraiment le fichier XML étant issus d'un logiciel.
Je souhaite malgré tout détecter les attributs qui sont sur une balise.
Autant il n'y a aucune surprise sur la balise, autant concernant les attributs, c'est différent. Ceux-ci correspondent à des paramètres qu'on peut modifier manuellement dans le logiciel.
Je n'ai pas de contrôle sur eux mais souhaiterai pouvoir les lister et ensuite les manipuler si besoin.
Je bloque sur le moyen de les détecter.
J'ai regardé dans la doc de PHP: https://www.php.net/manual/fr/book.dom.php
J'ai trouvé getAttribute mais il faut connaître le nom de l'attribut...

Exemples de balises concernés:
<Parameters TETE="0" PIED="0" DOS="0" FP="0" FPD="0" GF="0" DEP="0" FPT="0" FPP="0" FPGF="0"/>
<Parameters HB="0" LB="0" RT="0" RD="0" MT="0" MP="0" MD="0" MGF="0" VP="0" HP="0" RGF="0" RP="0" DEP="0" BT="0" BP="0" BPF="0" BGF="0" HE="0" VE="0" picots="0" picot1="0" DEPAV="0"/>

Je ne connais pas à l'avance les attributs utilisés.

Quelqu'un aurait une idée?

(J'espère avoir été claire dans ma demande.

Merci par avance.


A voir également:

1 réponse

arthezius Messages postés 3538 Date d'inscription   Statut Membre Dernière intervention   475
 
En fait, j'ai fini par trouvé.
La réponse était dans la doc, dans les commentaires.

$parametres = $dom->getElementsByTagName("Parameters");
foreach($parametres as $para_val)
	{
	$para_val->hasAttributes();
	$attributes = $para_val->attributes;
	foreach ($attributes AS $index=>$attr)
		{
		echo $index;
		}
	}


Et:
echo $para_val->getAttribute($index);

dans le foreach pour afficher la valeur.

Donc résolu!!
0