Graag wil ik voor mijn CMS een mogelijkheid maken om xml-bestanden te kunnen inlezen ongeacht wat de opmaak is. Van te voren weet ik niet hoe "diep" de gegevens in het xml-bestand staan. Het kan dus zijn dat op basis van voorbeeld 2 de gegevens staan op $xml->klant maar bij voorbeeld 3 op $xml->klantenbestand->klant. Het is de bedoeling dat de gebruiker de velden zoals "naam" en "straatnr" zelf gaat koppelen aan de velden die beschikbaar zijn binnen het CMS-pakket. Met SimpleXML heb ik een XML ingelezen en getracht de array_keys te verkrijgen maar dat gaat uiteraard niet lukken aangezien SimpleXML een object retour stuurt.
Ik heb er aan gedacht om XSD te gaan eisen, maar weet nu al dat een paar pakketten die niet leveren en om dat nu weer handmatig te gaan maken. Heb al een dag zitten zoeken naar de juiste functies maar helaas niet kunnen vinden.
Concreeet:
voorbeeld 2
voorbeeld 3
Ik heb er aan gedacht om XSD te gaan eisen, maar weet nu al dat een paar pakketten die niet leveren en om dat nu weer handmatig te gaan maken. Heb al een dag zitten zoeken naar de juiste functies maar helaas niet kunnen vinden.
Concreeet:
- Hoe krijg ik alle keys (zoals naam en straatnr)?
- Hoe weet ik de diepte daar van?
- Enkele tips hoe dit aan te pakken?
code:
1
2
3
4
5
6
| <klant> <naam>Jansen</naam> <adres type="straatnr">Veldweg 6</adres> <adres type="postnr">1791</adres> <adres type="gemeente">Ons Dorp</adres> </klant> |
voorbeeld 2
code:
1
2
3
4
5
6
| <klant> <naam>Jansen</naam> <straatnr>Veldweg 6</straatnr> <postnr">1791</postnr> <gemeente">Ons Dorp</gemeente> </klant> |
voorbeeld 3
code:
1
2
3
4
5
6
7
8
| <klantenbestand> <klant> <naam>Jansen</naam> <straatnr>Veldweg 6</straatnr> <postnr">1791</postnr> <gemeente">Ons Dorp</gemeente> </klant> </klantenbestand> |