Erreur de Validation XML: EntityRef: expecting';'

<url>
  <loc>http://www.ezed.in/ezed/courseDemoIntroPage.do?courseId=COU10000000138003530&checkingCourseFrom=preLogin#.U2DcKvmSySo</loc>
</url>

erreur à la ligne 102 à la colonne 103: EntityRef: expecting'; '

incapable de comprendre ce qui pourrait être le problème.

29
demandé sur Islam Azab 2014-05-02 10:45:11

2 réponses

votre URL doit être échappée.

& le caractère XML est utilisé pour insérer un référence de caractère avec la syntaxe &name; (note ; après le nom). Parser s'attend à un ; mais il ne peut pas le trouver (il y a plus de délimiteurs disponibles, c'est juste le cas le plus commun).

La Solution

s'échappe alors (la façon dont elle est faite dépend du langage que vous utilisez pour générer ce fichier XML) mais le résultat final doit être quelque chose comme ceci:

<url>
  <loc>http://www.ezed.in/ezed/courseDemoIntroPage.do?courseId=COU10000000138003530&amp;checkingCourseFrom=preLogin#.U2DcKvmSySo</loc>
</url>

notez que le simple & a été remplacé par sa version échappée &amp; . Pour plus de détails voir cet article simple .

une autre solution possible (si vous ne voulez pas/vous ne pouvez pas vous échapper) est de mettre L'URL à l'intérieur d'une section CDATA comme ceci:

<url>
  <loc><![CDATA[http://www.ezed.in/ezed/courseDemoIntroPage.do?courseId=COU10000000138003530&checkingCourseFrom=preLogin#.U2DcKvmSySo]]></loc>
</url>
68
répondu Adriano Repetti 2017-05-23 12:18:14

une autre façon comme ci-dessous:

au lieu de CDATA " nous pourrions utiliser htmlspecialchars PHP fonction native pour le noeud d'url. il fonctionnera peu de flux xml qu'ils ne veulent pas CDATA dans la sortie xml donc ce sera utile pour quelqu'un.

Merci

4
répondu Vinod Patidar 2017-02-22 12:22:23