Most Valuable Professional


View Jan Karel Pieterse's profile on LinkedIn subscribe to rss feed
Subscribe in a reader

Subscribe to our mailing list

* indicates required

Audit !!!

Probeer onze RefTreeAnalyser
de beste Excel formule auditing tool.

Cursussen

Excel VBA Masterclass (Engels)
Excel VBA voor Financials

Third party tools

Speed up your file

FastExcel
The best tool to optimise your Excel model!

Repair your file

Stellar Phoenix Excel Repair
Best tool to repair corrupt Excel sheets and objects
Home > Nederlandse site > Artikelen > XML en Excel 2003 > XML Validatie
This page in English

XML en Excel

XML Validatie

Vreemd genoeg heeft Microsoft het valideren van XML gegevens in Excel standaard uitgeschakeld. Na inschakelen van deze optie zal Excel wanneer een XML bestand niet voldoet aan een XSD schema, bij het importeren of exporteren een foutmelding tonen.

Eerst moet een sjabloon gemaakt worden op basis van een XML bestand dat verwijst naar een geldig schema en moet de validatie worden ingeschakeld. Sluit alle open mappen in Excel en kies "Bestand, Openen-->". Kies het bestand test2.xml. Hieruit is de naam van de eerste medewerker weggelaten. Kies wederom de optie "het Taakvenster van de XML-gegevensbron gebruiken". Sleep de tak "Medewerker" naar en cel. Rechtsklik vervolgens in het bereik dat blauw omlijnd is (dit geeft aan dat het een zogeheten Lijst is) en kies de optie XML, Eigenschappen van XML-Toewijzing... Zie figuur 10 en 11.


Figuur 10: keuzemenu XML bij rechtsklikken binnen een lijstbereik


Figuur 11: dialoogvenster "Eigenschappen van XML-Toewijzing"

Plaats een vinkje bij "Gegevens valideren volgens een schema bij importeren en exporteren".

Klik nu op de knop Gegevens vernieuwen. Excel toont een foutmelding (figuur 12).


Figuur 12: Foutmelding bij importeren XML bestand dat niet aan het schema voldoet

Door op de knop Details... te klikken geeft Excel detail informatie over de fout die is gevonden in het XML bestand (figuur 13). In dit geval geeft Excel aan, dat het het element "straat" nog niet verwacht, maar wel het element "Naam". Dit komt dus omdat het element Naam ontbreekt op de positie waar het volgens het schema zou moeten staan. Ondanks de foutmelding heeft Excel wl de gegevens ingelezen.


Figuur 13: details bij foutmelding na importeren XML bestand dat niet aan het schema voldoet

Omgekeerd werkt de validatie ook. Open het bestand ExcelXML.xls (zie figuur 14) en verwijder de hele kolom D. Tracht nu de XML lijst te exporteren en de foutmelding getoond in figuur 15 wordt getoond (na klikken op de Details... knop). Er wordt overigens wl een XML bestand geproduceerd.


Figuur 14: schermafdruk van het bestand ExcelXML.xls


Figuur 15: foutmelding na verwijderen van een kolom en exporteren van de XML lijst.



Vragen, suggesties en opmerkingen

Al het commentaar over deze pagina:


Comment by: Jeu Kaus (3/22/2011 3:33:33 AM)

Ik heb een csv bestand met datumvelden bijv. 01072010 en als daar een xml bericht van maak toont het xml mij 1072010 en ik wil de volledige datum in het xml zien.
Wat moet ik doen/aanpassen in excel?

 


Comment by: Jan Karel Pieterse (3/22/2011 7:12:42 AM)

Hallo Jeu,

Dat ligt eraan hoe je het XML bericht maakt denk ik. Doe je het direct vanuit Excel? Zat er een schema bij het XML bestand waarmee je de mapping naar Excel hebt gemaakt? (daarmee geef je de formaten aan onder andere)?

 


Comment by: Tim (1/28/2015 8:58:19 PM)

Hi, ik heb een goedgekeurde XML ingelezen in excel. Dit gaat zonder problemen. Zonder iets te wijzigen wil ik het nu exporteren. Vraag maar niet waarom, ben gewoon aan het spelen. Maar het vreemde is dat het exporteren een fout geeft: De XML-gegevens kunnen niet worden opgeslagen of geexporteerd. Ik weet inmiddels dat dit komt door de gelaagdheid van de excel (bv 1 klant met meerdere orders). Vreemd dat het inlezen wel zonder probleemn gaat. Maar mijn vraag is hoe ik dit exporteren toch voor elkaar krijg. Heeft u suggesties?

Mvg. Tim

 


Comment by: Jan Karel Pieterse (1/29/2015 11:16:55 AM)

Hallo Tim,

De enige manier om een dieper geneste xml op te slaan is middels VBA code helaas, direct vanuit Excel is dat niet mogelijk.

 


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: www.eileenslounge.com.

Uw naam (verplicht veld):

Uw e-mail adres (Niet verplicht, dit adres wordt niet getoond)

Uw verzoek of commentaar:

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