Parsage d'un fichier XML
SimpleXMLElement Object
(
[PurchaseOrder] => Array
(
[0] => SimpleXMLElement Object
(
[@attributes] => Array
(
[PurchaseOrderNumber] => 99503
[OrderDate] => 1999-10-20
)
[Address] => Array
(
[0] => SimpleXMLElement Object
(
[@attributes] => Array
(
[Type] => Shipping
)
[Name] => Ellen Adams
[Street] => 123 Maple Street
[City] => Mill Valley
[State] => CA
[Zip] => 10999
[Country] => USA
)
[1] => SimpleXMLElement Object
(
[@attributes] => Array
(
[Type] => Billing
)
[Name] => Tai Yee
[Street] => 8 Oak Avenue
[City] => Old Town
[State] => PA
[Zip] => 95819
[Country] => USA
)
)
[DeliveryNotes] => Please leave packages in shed by driveway.
[Items] => SimpleXMLElement Object
(
[Item] => Array
(
[0] => SimpleXMLElement Object
(
[@attributes] => Array
(
[PartNumber] => 872-AA
)
[ProductName] => Lawnmower
[Quantity] => 1
[USPrice] => 148.95
[Comment] => Confirm this is electric
)
[1] => SimpleXMLElement Object
(
[@attributes] => Array
(
[PartNumber] => 926-AA
)
[ProductName] => Baby Monitor
[Quantity] => 2
[USPrice] => 39.98
[ShipDate] => 1999-05-21
)
)
)
)
[1] => SimpleXMLElement Object
(
[@attributes] => Array
(
[PurchaseOrderNumber] => 99505
[OrderDate] => 1999-10-22
)
[Address] => Array
(
[0] => SimpleXMLElement Object
(
[@attributes] => Array
(
[Type] => Shipping
)
[Name] => Cristian Osorio
[Street] => 456 Main Street
[City] => Buffalo
[State] => NY
[Zip] => 98112
[Country] => USA
)
[1] => SimpleXMLElement Object
(
[@attributes] => Array
(
[Type] => Billing
)
[Name] => Cristian Osorio
[Street] => 456 Main Street
[City] => Buffalo
[State] => NY
[Zip] => 98112
[Country] => USA
)
)
[DeliveryNotes] => Please notify me before shipping.
[Items] => SimpleXMLElement Object
(
[Item] => SimpleXMLElement Object
(
[@attributes] => Array
(
[PartNumber] => 456-NM
)
[ProductName] => Power Supply
[Quantity] => 1
[USPrice] => 45.99
)
)
)
[2] => SimpleXMLElement Object
(
[@attributes] => Array
(
[PurchaseOrderNumber] => 99504
[OrderDate] => 1999-10-22
)
[Address] => Array
(
[0] => SimpleXMLElement Object
(
[@attributes] => Array
(
[Type] => Shipping
)
[Name] => Jessica Arnold
[Street] => 4055 Madison Ave
[City] => Seattle
[State] => WA
[Zip] => 98112
[Country] => USA
)
[1] => SimpleXMLElement Object
(
[@attributes] => Array
(
[Type] => Billing
)
[Name] => Jessica Arnold
[Street] => 4055 Madison Ave
[City] => Buffalo
[State] => NY
[Zip] => 98112
[Country] => USA
)
)
[Items] => SimpleXMLElement Object
(
[Item] => Array
(
[0] => SimpleXMLElement Object
(
[@attributes] => Array
(
[PartNumber] => 898-AZ
)
[ProductName] => Computer Keyboard
[Quantity] => 1
[USPrice] => 29.99
)
[1] => SimpleXMLElement Object
(
[@attributes] => Array
(
[PartNumber] => 898-AM
)
[ProductName] => Wireless Mouse
[Quantity] => 1
[USPrice] => 14.99
)
)
)
)
)
)
012345678910111213141516171819
Shipping : affiche l attribut
926-AA : affiche l attribut
898-AM : affiche l'attribut
Computer Keyboard : affiche l'interieur de la balise
Wireless Mouse : affiche l'interieur de la baliseOn boucle des attributs
Shipping
Billing
On boucle des elements
Tai Yee
8 Oak Avenue
Old Town
PA
95819
USA
Cristian Osorio
456 Main Street
Buffalo
NY
98112
USA
par exemple je veux boucler toutes les adresses des clients du fichier xml et les afficher dans un tableau
On fait une boucle avec tous les clients avec xpath
Ellen Adams
USA
Tai Yee
USA
Cristian Osorio
USA
Cristian Osorio
USA
Jessica Arnold
USA
Jessica Arnold
USA
On fait une boucle avec tous les produits vendus et la quantité avec xpath
Lawnmower
1
Baby Monitor
2
Power Supply
1
Computer Keyboard
1
Wireless Mouse
1
On fait une boucle avec tous les clients avec un attribut Type='Shipping' avec xpath
Ellen Adams
Cristian Osorio
Jessica Arnold
Objectif : je veux boucler toutes les adresses des clients du fichier xml et les afficher dans un tableau
On fait une boucle avec tous les clients avec xpath
Ellen Adams
123 Maple Street
Mill Valley
CA
10999
USA
Tai Yee
8 Oak Avenue
Old Town
PA
95819
USA
Cristian Osorio
456 Main Street
Buffalo
NY
98112
USA
Cristian Osorio
456 Main Street
Buffalo
NY
98112
USA
Jessica Arnold
4055 Madison Ave
Seattle
WA
98112
USA
Jessica Arnold
4055 Madison Ave
Buffalo
NY
98112
USA
Ok et pour les afficher dans un tableau ordonné?
Tous les clients |
Ellen Adams |
123 Maple Street |
Mill Valley |
CA |
10999 |
USA |
Tai Yee |
8 Oak Avenue |
Old Town |
PA |
95819 |
USA |
Cristian Osorio |
456 Main Street |
Buffalo |
NY |
98112 |
USA |
Cristian Osorio |
456 Main Street |
Buffalo |
NY |
98112 |
USA |
Jessica Arnold |
4055 Madison Ave |
Seattle |
WA |
98112 |
USA |
Jessica Arnold |
4055 Madison Ave |
Buffalo |
NY |
98112 |
USA |