Que fait l'exception org.apache.xmlbeans.XmlException avec le message & # 8220; Elément inattendu: CDATA & # 8221; signifier?

StackOverflow https://stackoverflow.com/questions/1407101

Question

J'essaie d'analyser et de charger un document XML, mais cette exception m'intéresse lorsque j'appelle la méthode d'analyse sur la classe qui étend XmlObject. Malheureusement, cela ne me donne aucune idée de ce qui est inattendu, ce qui est mon problème.

Je ne peux pas partager le code pour cela, mais je peux essayer de fournir plus d'informations si nécessaire.

Était-ce utile?

La solution

Ne pouvant pas partager de code ou saisir des données, vous pouvez envisager l’approche suivante. C’est une approche dichotomique très commune en matière de diagnostic , j'en ai bien peur, et vous avez peut-être déjà commencé à le faire ...

Essayez de réduire la taille du XML d'entrée en supprimant des parties de celui-ci, en veillant à ce que le document XML sous-jacent reste bien formé et éventuellement valide (si la validité est requise dans la configuration de votre analyseur). Si vous maintenez la validité, vous devrez peut-être modifier [une copie de] le schéma (DTD ou autre), car des éléments obligatoires pourraient être supprimés lors de l'approche de coupe et essai ... BTW, le message d'erreur semble laisser deviner un problème de validation plutôt qu’un problème d’assertion de base de bonne formation.

À moins d’avoir une idée précise de la zone qui déclenche la plainte de l’analyseur, nous supprimons (ou ajoutons de nouveau, lorsque les choses commencent à fonctionner) environ la moitié de ce qui a été précédemment coupé ou rajouté.

Vous pouvez également commencer par essayer un fichier essentiellement vide, pour affirmer que l'analyseur fonctionne ... Il y a encore une fois l'idée de "diviser pour l'emporter": le problème se trouve dans l'entrée XML ou dans l'analyseur ? (Rappelez-vous qu'il peut y avoir deux problèmes, l'un dans l'entrée et l'autre dans l'analyseur, et que de tels problèmes peuvent même ne pas être liés ...)

Désolé de faire appel aux techniques de diagnostic de base avec lesquelles vous maîtriserez peut-être couramment ...

Autres conseils

Vous devriez vérifier les arguments que vous transmettez à la méthode parse (); Si vous passez directement une chaîne à analyser, fichier ou inputstream en conséquence (Fichier / InputStream / String), etc.

L'exception est provoquée par la longueur du fichier XML. Si vous ajoutez ou supprimez un caractère du fichier, l'analyseur aboutira.

Le problème se produit dans la bibliothèque PiccoloLexer tierce sur laquelle XMLBeans s'appuie. Il a été corrigé dans la révision 959082 mais n’a pas été appliqué à xbean 2.5 jar.

XMLBeans - Problème avec les fichiers XML si la longueur est exactement 8193 octets

Problème signalé sur XMLBean Jira

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top