XML : URL Encode

Encodez vos données XML pour transmission via URL.

XML Source

Encodage

Options

Résultat

URL Encodé

Guide complet de l'encodage XML URL : transmettre vos données XML via URLs

Pourquoi j'ai besoin d'encoder du XML pour les URLs

Dans mes projets d'intégration de systèmes, je dois régulièrement transmettre du XML via des URLs — que ce soit pour des callbacks SOAP, des paramètres de configuration passés via query string, ou des intégrations avec des systèmes legacy. Le XML contient de nombreux caractères problématiques pour les URLs : <, >, &, guillemets, espaces. Sans encodage, ces caractères corrompent la transmission. Cet outil encode votre XML pour un transport URL sûr et réversible.

Fonctionnalités de cet outil

🔒 Double mode d'encodage

encodeURI pour URLs complètes, encodeURIComponent pour paramètres individuels. Choisissez selon votre contexte.

📐 Minification optionnelle

Supprimez espaces et indentation avant encodage pour réduire drastiquement la taille de l'URL résultante.

✅ Validation XML

Vérifiez que votre XML est bien formé avant encodage. Évitez de transmettre du XML invalide.

📊 Statistiques de taille

Visualisez la taille du résultat encodé. Vérifiez que ça reste dans les limites d'URL (~2000-8000 caractères).

Comment utiliser cet outil

  1. Collez votre XML — Dans l'éditeur de gauche avec coloration syntaxique
  2. Choisissez le mode — « Encoder URL » (encodeURI) ou « Encoder Composant » (encodeURIComponent)
  3. Optionnel : minifiez — Cochez « Minifier avant encodage » pour réduire la taille
  4. Copiez le résultat — Utilisez dans votre URL ou query string

Référence des encodages courants

  • < → %3C (ouverture de balise)
  • > → %3E (fermeture de balise)
  • & → %26 (esperluette, crucial car sépare les params URL)
  • " → %22 (guillemet double pour attributs)
  • espace → %20 (impact majeur sur la taille)
  • retour ligne → %0A (considérez la minification)

Cas d'usage concrets

J'utilise cet outil pour préparer des callbacks SOAP vers des APIs enterprise, transmettre des configurations XML via query string dans les tests d'intégration, et encoder des fragments XML pour les systèmes de débogage. Tout le traitement reste local dans votre navigateur — vos données ne quittent jamais votre machine.

Questions fréquentes

Quelle différence entre « Encoder URL » et « Encoder Composant » ?

Les deux fonctions encodent différemment :

  • encodeURI — Préserve les caractères de structure URL (: / ? # [ ] @). Utilisez pour encoder une URL complète.
  • encodeURIComponent — Encode TOUT sauf lettres et chiffres. Utilisez pour les valeurs de paramètres.

Pour du XML dans un paramètre ?xml=..., utilisez toujours encodeURIComponent. C'est plus sûr car le & du XML ne sera pas interprété comme séparateur de paramètres.

Mon XML encodé dépasse la limite d'URL — que faire ?

Les URLs ont des limites pratiques (~2000 caractères pour IE, ~8000 pour Chrome). Plusieurs solutions :

  • Minifiez — Cochez l'option pour supprimer espaces et indentation
  • Utilisez POST — Pas de limite de taille pour le body
  • Base64 — Parfois plus compact pour le XML minifié
  • Compression — gzip le XML, puis Base64, si le serveur le supporte

L'XML est-il préservé exactement après encodage puis décodage ?

Oui, parfaitement — l'encodage URL est réversible sans perte. Au décodage, vous retrouvez le XML exact, byte pour byte.

Exception : si vous avez activé la minification, le formatage (indentation, espaces) est perdu. Mais la structure XML et le contenu sémantique restent intacts.

Les namespaces XML sont-ils correctement gérés ?

Oui ! Les namespaces sont traités comme du texte ordinaire et parfaitement préservés :

  • Déclarations xmlns et xmlns:prefix
  • Préfixes sur les éléments (soap:Envelope)
  • URIs de namespace complets

L'encodage URL opère au niveau des caractères, pas de la sémantique XML.

Comment tester si mon XML encodé fonctionne côté serveur ?

Testez le décodage côté serveur avec ces commandes :

  • PHP — urldecode() ou rawurldecode()
  • JavaScript — decodeURIComponent()
  • Python — urllib.parse.unquote()

Si le XML décodé est identique à l'original, l'encodage est correct. Vérifiez aussi les logs serveur pour les erreurs de parsing.

Puis-je encoder du SOAP XML avec des attachments ?

L'enveloppe SOAP elle-même s'encode sans problème. Mais les attachments binaires (MTOM, SwA) ne sont pas adaptés à l'encodage URL.

Pour les messages SOAP avec données binaires :

  • Utilisez le transport HTTP POST natif SOAP
  • Ou encodez les binaires en Base64 dans le XML avant l'encodage URL

La validation XML ralentit-elle l'encodage ?

La validation vérifie uniquement que le XML est well-formed (balises fermées, structure correcte). C'est quasi-instantané même pour des XML de plusieurs milliers de lignes.

Avantage : vous détectez les erreurs AVANT l'envoi. Un XML invalide encodé reste invalide une fois décodé.

Mes données XML sont-elles transmises à un serveur ?

Non, tout le traitement est 100% local :

  • L'encodage utilise encodeURI/encodeURIComponent natifs JavaScript
  • Aucune requête réseau n'est envoyée
  • Vérifiable dans les DevTools (onglet Network)
  • Fonctionne même hors ligne

C'est sécurisé pour les données sensibles : messages SOAP avec credentials, configurations internes, etc.