XML en Excel

Pagina's in dit artikel

  1. Wat is XML
  2. Kenmerken van XML
  3. Opbouw van een XML bestand
  4. XML Schema's
  5. XML in Excel
  6. XML Validatie
  7. Conclusie

Opbouw van een XML bestand

De XML code in figuur 1 (hieronder nogmaals getoond) is tamelijk eenvoudig te lezen (bestand test.xml uit de download).
Voorbeeld van een XML bestand
De eerste regel geeft aan dat het een XML bestand betreft. Deze regel moet in elk XML bestand voorkomen. Het bestand bestaat uit zowel gegevens, als uit bij elkaar horende tags om elk gegeven heen. Samen worden zo’n set van een gegeven en haar beschrijvende tags een element genoemd. Hieronder staat dus een element:

<Naam>Jan Jansen</Naam>

Het voorbeeld bestand dat hierboven wordt getoond bevat dus de volgende elementen: Bedrijf, Bedrijfsnaam, Medewerker, Naam, Straat, Huisnr, PostCode, Woonplaats, Telefoon. De namen van tags zijn hoofdlettergevoelig, "Naam" is niet hetzelfde als "naam".

Een tag wordt gekenmerkt door tekst omvat tussen kleiner dan en groter dan tekens: <Tag>. Elke tag moet ook een afsluitende tag hebben: </Tag>. Alle tekst tussen een paar tags behoort tot die tag. Staat er niets tussen de tags, dan kunnen beide tot één tag worden samengevoegd: <Tag/>. Dit wordt nogal eens gedaan wanneer er hetzij geen inhoud is, hetzij de inhoud van een element als een attribuut van het element wordt opgegeven:

<Naam name="Jan Janssen"/>

is equivalent aan

<Naam>Jan Jansen</Naam>

Het gebruik van attributen verhoogt de leesbaarheid echter niet en het is aan te bevelen om de tags gewoon paars-gewijs toe te passen.

De tweede regel van het XML bestand bevat de start tag van het root element: <Bedrijven>. Het element "Bedrijven" is het zogenaamde Root element van het XML bestand. Elk XML bestand moet exact één root element bevatten. Dit is te vergelijken met een boom structuur: een boom heeft 1 stam, waar meerdere takken aan kunnen zitten. Vervolgens geeft regel 3 de start van het element "Bedrijf" weer. Binnen het element "Bedrijven" kunnen meerdere "Bedrijf" elementen voorkomen. Regel 4 toont het volledige element "Bedrijfsnaam", waarna in de regels 5 t/m 27 de gegevens van drie medewerkers van Bedrijf "Janssen en Zoon" zijn opgenomen. Het is duidelijk, dat het weinig moeite kost om de gegevens te begrijpen. Evenzo is het vrij eenvoudig om bijvoorbeeld een nieuw bedrijf toe te voegen met enkele medewerkers.



Vragen, suggesties en opmerkingen

Al het commentaar over deze pagina:


Commentaar van: Jan (7-4-2008 05:16:12) deeplink naar dit commentaar

Ik wil graag weten hoe je van een XML bestand een EXCEL bestand kunt maken via VisualBasic!


Commentaar van: Kasper de Beer (6-4-2012 23:31:28) deeplink naar dit commentaar

Als school in het Speciaal Onderwijs gaan we nu over tot het gebruik van Edexml. Voorheen gebruikten we Edex 2000. Dit laatste kon met plakken en knippen gescheiden en gemuteerd worden. Erg handig omdat wij twee locaties hebben met dezelfde leerlingvolgsysteem, waaruit het Edex bestand wordt geexporteerd. Ik probeer ook het Edexml bestand te muteren, maar dat lukt mij niet. In Excel gaat het niet en in een Editor als Oxygen, kan ik wel data muteren, maar dan geeft het foutmeldingen, omdat ik wellicht data verwijdert die met andere data versleuteld of afhankelijk is. Wie kan mij uitleggen hoe ik wel het Edexml bestand kan muteren.


Commentaar van: Jan Karel Pieterse (9-4-2012 10:08:24) deeplink naar dit commentaar

Hallo Kasper,

Het Edexml formaat is een relationeel formaat waarbij eigenlijk meerdere tabellen in 1 xml bestand zijn gecombineerd. Dit formaat kan wel met Excel bewerkt worden, maar alleen door gebruik te maken van VBA om het bestand te schrijven. Ik denk dat je een speciale tool nodig hebt om dit nieuwe formaat te kunnen bewerken.


Heeft u vragen, suggesties of opmerkingen? Gebruik dan dit formulier.

Mocht uw vraag niet direct relevant zijn voor deze pagina, maar een algemene Excel vraag betreffen, dan adviseer ik om deze hier te stellen: excelexperts.nl/forum/index.php.




Als u VBA code in uw commentaar plaatst, gebruik dan [VB] tags: [VB]Uw code[/VB].