ANS-0411 · IMPRESSION, PDF ET MODèLES D’E-MAILS
Comment résoudre l’erreur « Error Parsing XML » dans les rapports NetSuite et les fichiers PDF ?
Découvrez comment éviter les erreurs courantes d'analyse XML dans les rapports personnalisés NetSuite et lors de la génération de fichiers PDF en échappant correctement les caractères spéciaux.
Solution courte
Si le message « Erreur d’analyse du XML » s’affiche lors de la génération d’un rapport NetSuite ou d’un fichier PDF, cela indique la présence de caractères spéciaux non échappés dans vos données XML. Pour résoudre ce problème, assurez-vous que toutes les chaînes de caractères sont correctement échappées à l’aide de la fonction xml.escape(options) du module N/xml dans SuiteScript 2.1, afin d’éviter tout conflit avec la syntaxe XML.
Scénario
Les utilisateurs peuvent rencontrer un message d’erreur « Erreur d’analyse XML » lorsqu’ils tentent de prévisualiser ou de générer des rapports personnalisés ou des fichiers PDF dans NetSuite. Cette erreur spécifique, « Le nom de l’entité doit suivre immédiatement le caractère « & » dans la référence d’entité », survient généralement lorsque les données XML contiennent des caractères spéciaux qui ne sont pas correctement échappés, ce qui entraîne un XML mal formé.
Solution
Afin d’éviter le message « Erreur d’analyse du XML » et de garantir une génération correcte des rapports ou des fichiers PDF, toutes les chaînes de caractères contenues dans les données XML doivent être correctement échappées. Ceci est essentiel car les caractères spéciaux non échappés (tels que « & », « », « " », « ' ») peuvent être interprétés à tort comme des entités ou des balises XML, ce qui entraîne des échecs d’analyse. Dans SuiteScript 2.1, l’approche recommandée consiste à utiliser la fonction xml.escape(options) du module N/xml. Veillez à ce que toutes les données de chaîne intégrées à votre modèle XML soient traitées par cette fonction avant d’être utilisées. Par exemple :
javascriptvar xmlModule = require('N/xml');var myString = 'Company & Co. <100%';var escapedString = xmlModule.escape({text: myString});// Use escapedString when constructing your XML templateSupport expert NetSuite
Besoin d’aide pour cet enjeu NetSuite ?
Accompagnement-conseil et configuration pour Impression, PDF et modèles d’e-mails
