Est il possible par un script php de classer les tag d'1 xml

classement d'un xml ?
Invité n'ayant pas de compte PHPfrance

30 oct. 2006, 09:31

Est il possible par un script php de classer un fichier xml et de le réécrire ?
exemple j'ai ce fichier :

Code : Tout sélectionner

<valeurs><val cns="802529000" achat_prix="10" achat_quantite="1000"jour="20060201" passage="1"/><val cns="802529000" achat_prix="5" achat_quantite="500"jour="20060101" passage="1"/><val cns="802529000" vente_prix="10" vente_quantite="1" jour="20060101" passage="1"/><val cns="802529000" vente_prix="8" vente_quantite="4" jour="20060101" passage="1"/><val cns="802529000" vente_prix="8" vente_quantite="1000" jour="20060102" passage="1"/><val cns="802529000" achat_prix="8" achat_quantite="500"jour="20060201" passage="1"/><val cns="802529000" vente_prix="8" vente_quantite="1200" jour="20070202" passage="1"/><val cns="802529000" vente_prix="8" vente_quantite="1200" jour="20060202" passage="1"/><val cns="802529000" vente_prix="4" vente_quantite="1200" jour="20060101" passage="1"/><val cns="802529000" vente_prix="1" vente_quantite="1200" jour="20060101" passage="1"/><val cns="802529000" vente_prix="1" vente_quantite="1200" jour="20060102" passage="1"/><val cns="802529000" vente_prix="1" vente_quantite="1200" jour="20060101" passage="1"/><val cns="802529000" vente_prix="1" vente_quantite="1200" jour="20060101" passage="1"/><val cns="802529000" vente_prix="1" vente_quantite="1200" jour="20060201" passage="1"/><val cns="802529000" vente_prix="1" vente_quantite="1200" jour="20060102" passage="1"/></valeurs>
est il possible possible de faire le tri suivant et de réécrire le fichier :
d'abord on trouve d'abord les achats et ensuite dans les achats et dans les ventes, on classe par chronologie (tag) jour ?
est ce réalisable ?

Mammouth du PHP | 19672 Messages

30 oct. 2006, 09:53

:shock: Est-ce que ce serait trop demander quand tu postes du code de poster du code lisible ?

C'est pourtant pas dur me semble de faire ceci:

Code : Tout sélectionner

<valeurs> <val cns="802529000" achat_prix="10" achat_quantite="1000"jour="20060201" passage="1"/> <val cns="802529000" achat_prix="5" achat_quantite="500"jour="20060101" passage="1"/> <val cns="802529000" vente_prix="10" vente_quantite="1" jour="20060101" passage="1"/> <val cns="802529000" vente_prix="8" vente_quantite="4" jour="20060101" passage="1"/> <val cns="802529000" vente_prix="8" vente_quantite="1000" jour="20060102" passage="1"/> <val cns="802529000" achat_prix="8" achat_quantite="500"jour="20060201" passage="1"/> <val cns="802529000" vente_prix="8" vente_quantite="1200" jour="20070202" passage="1"/> <val cns="802529000" vente_prix="8" vente_quantite="1200" jour="20060202" passage="1"/> <val cns="802529000" vente_prix="4" vente_quantite="1200" jour="20060101" passage="1"/> <val cns="802529000" vente_prix="1" vente_quantite="1200" jour="20060101" passage="1"/> <val cns="802529000" vente_prix="1" vente_quantite="1200" jour="20060102" passage="1"/> <val cns="802529000" vente_prix="1" vente_quantite="1200" jour="20060101" passage="1"/> <val cns="802529000" vente_prix="1" vente_quantite="1200" jour="20060101" passage="1"/> <val cns="802529000" vente_prix="1" vente_quantite="1200" jour="20060201" passage="1"/> <val cns="802529000" vente_prix="1" vente_quantite="1200" jour="20060102" passage="1"/> </valeurs>
Là on peut comprendre beaucoup mieux et tes explications seraient peut-être plus claires.

Pour faire simple, il faut parser ton fichier XML, stocker les valeurs dans un tableau multi-dimensionnel, trier ce tableau pour ensuite ré-écrire le fichier. Explore la fonction array_multisort() et fonctions annexes.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Invité
Invité n'ayant pas de compte PHPfrance

30 oct. 2006, 09:56

J'ai refait mon fichier xml car trop compliqué.
Celui là serait, il me semble + facile à attaquer par une boucle.
Mais comment faire pour le classer ?

Code : Tout sélectionner

<valeurs><val cns="802529000" isin="FR9909090909" transaction="achat" typebanque="Credit Cooperatif" liquidation="Quotidienne" classe="Strategies Dynamiques" nom="action 1" typefond="O" creation="non" prix="10" quantite="1000" jour="20060201" passage="1"/><val cns="802529000" isin="FR9909090909" transaction="achat" typebanque="Credit Cooperatif" liquidation="Quotidienne" classe="Strategies Dynamiques" nom="action 1" typefond="O" creation="non" prix="10" quantite="2000" jour="20060202" passage="1"/><val cns="802529000" isin="FR9909090909" transaction="vente" typebanque="Credit Cooperatif" liquidation="Quotidienne" classe="Strategies Dynamiques" nom="action 1" typefond="O" creation="non" prix="10" quantite="500" jour="20060203" passage="1"/><val cns="802529000" isin="FR9909090909" transaction="achat" typebanque="Credit Cooperatif" liquidation="Quotidienne" classe="Strategies Dynamiques" nom="action 1" typefond="O" creation="non" prix="10" quantite="1000" jour="20060201" passage="1"/></valeurs>
le classement se ferait donc par transaction : achat et vente et esuite dedans par jour.
Merci beaucoup

Invité
Invité n'ayant pas de compte PHPfrance

30 oct. 2006, 09:57

désolé pour le code :

Code : Tout sélectionner

<valeurs> <val cns="802529000" isin="FR9909090909" transaction="achat" typebanque="Credit Cooperatif" liquidation="Quotidienne" classe="Strategies Dynamiques" nom="action 1" typefond="O" creation="non" prix="10" quantite="1000" jour="20060201" passage="1"/> <val cns="802529000" isin="FR9909090909" transaction="achat" typebanque="Credit Cooperatif" liquidation="Quotidienne" classe="Strategies Dynamiques" nom="action 1" typefond="O" creation="non" prix="10" quantite="2000" jour="20060202" passage="1"/> <val cns="802529000" isin="FR9909090909" transaction="vente" typebanque="Credit Cooperatif" liquidation="Quotidienne" classe="Strategies Dynamiques" nom="action 1" typefond="O" creation="non" prix="10" quantite="500" jour="20060203" passage="1"/> <val cns="802529000" isin="FR9909090909" transaction="achat" typebanque="Credit Cooperatif" liquidation="Quotidienne" classe="Strategies Dynamiques" nom="action 1" typefond="O" creation="non" prix="10" quantite="1000" jour="20060201" passage="1"/> </valeurs>
désolé

Mammouth du PHP | 19672 Messages

30 oct. 2006, 09:58

Dis-donc : tu sais lire ? :evil:
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe: