Problèmes XML: comment les régler

validation xml
Si vous travaillez avec du XML XML
L’Extensible Markup Language (langage de balisage extensible en français) est une façon de structurer des données à l’aide de balises.
Par exemple:
<age>40</age>
<sexe>Homme</sexe>
, vous savez que certains caractères sont invalides et empêche la lecture ou l’interprétation du XML. Lorsqu’un logiciel tente d’interpréter un fichier XML et qu’il rencontre un caractère invalide (ou illégal), il s’arrête et, si vous êtes chanceux, il affiche où se trouve l’erreur.

Si vous n’êtes pas familiers avec le XML ou le langage balisé, voyez cette documentation qui explique en détail ce qu’est le XML.

Problèmes XML, vérifications de première ligne

Vérifier le prologue (l’entête)

Malgrè qu’il soit optionnel, le prologue ou la déclaration du type de fichier est une bonne pratique pour éviter que certains caractères ne soient par bien interprétés ou affichés.

Votre document XML devrait donc commencer par

<?xml version="1.0" encoding="UTF-8"?>

Les caractères illégaux XML

Il n’y a que 5 caractères invalides en XML. Par exemple, le XML est un langage balisé, alors l’utilisation des viendront rendre la lecture impossible pour un interpréteur XML. Imaginez que vous avez l’information salaire :

<message>salaire < 1000</message>

L'interpréteur s'arrêtera au salaire et affichera une erreur car il croira que la balise qui devrait fermer n'est pas présente.

Si vous voulez ou devez les utiliser, ils devront êtres remplacer par leur équivalents qu'on appel «entité» (ou entity en anglais).

Entité Caractère Description
&lt; < plus petit que
&gt; > plus grand que
&amp; & esperluette
&apos; ' apostrophe
&quot; " guillemets

Donc, l'information de salaire devra s'écrire ainsi:

<message>salaire &lt; 1000</message>

Notez que parfois, les apostrophes et guillemets ne causeront pas d'erreur. Mais si vous utilisez les entités, vous n'aurez jamais d'erreur causé par ceux-ci!

Comment déboguer un XML

Il existe plusieurs façons de déboguer un XML.

Façon traditionnelle

C'est à dire ouvrir le fichier XML et le passer à la loupe vous même en cherchant l'erreur... Pour un petit fichier XML, ça peut se faire. Mais lorsque vous avez des centaines voire des milliers d'entrées, c'est pratiquement impossible!

Validateur XML en ligne

Il existe plusieurs validateurs XML en ligne qui sont tout à fait gratuits. Il suffit simplement de chercher dans Google et il y en aura plein.

Logo w3schoolsJ'utilise personnellement le validateur XML de w3School.com mais si vous en utilisez un autre, il est probablement aussi bon.

Soyez prudent lorsque vous utilisez un validateur en ligne. Si votre fichier XML contient des données confidentielles, je ne le recommande pas!

Un logiciel de bureau

Oxygen XML Editor logo
Il existe des logiciels expressément dédiés à l'édition et la validation XML. Mes collègues utilisent Oxygen. Bien qu'il soit très performant et complet, il reste qu'il est payant et ce n'est pas tous le monde qui ont un tel besoin.

Le navigateur Firefox

Mozilla Firefox logo 150pxOui, oui! Parfois, tout ce que l'on cherche est une façon simple et rapide pour trouver une erreur dans un XML. Simplement glisser un fichier XML dans une fenêtre ouverte de Firefox et il affichera où se trouve la première erreur.

problemes xml firefox affiche erreur

Glisser un fichier XML dans une fenêtre Firefox affichera l'information structurée ou indiquera où se trouve l'erreur de validation.

Corrigez-la et rafraîchissez la page. Faites ces étapes jusqu'à ce que le fichier XML s'affiche correctement.

firefox affiche les données xml structurées

Une fois toutes les erreurs corrigées, Firefox affiche les données XML.
Notez que ce XML est un MSXML et n'est dont pas comme un XML conventionnel.

Ouvrir et corriger un fichier XML: comment et avec quoi!!

Un fichier XML est simplement un fichier texte. Donc, vous pouvez l'ouvrir avec un éditeur de texte, faire les corrections, sauvegarder et le fermer.

Je recommande

Ils sont tous les deux gratuits.

Éviter les traitement de texte tel que Microsoft Word

Comme je disais plus haut, un fichier XML est en fait un fichier texte avec l’extension XML. Si vous l'ouvrez dans un traitement de texte tel que Microsoft Word, vous risquez de changer l'encodage du fichier et le rendre complètement invalide.

Vous ne devez en aucun cas appliquer de la stylisation (gras, italique, etc) dans votre fichier XML. De toute façon, pour garder les styles, vous devrez sauvegarder en RTF et cela rendrait cotre fichier XML invalide.

De plus, certains caractères pourraient êtres convertis à l'ouverture et, encore une fois, rendre le XML invalide.


Loading...