<url>
<loc>http://www.ezed.in/ezed/courseDemoIntroPage.do?courseId=COU10000000138003530&checkingCourseFrom=preLogin#.U2DcKvmSySo</loc>
</url>
erreur sur la ligne 102 à la colonne 103: EntityRef: attend ';'
Impossible de comprendre quel pourrait être le problème.
Votre URL doit être échappée.
& est utilisé en XML pour insérer une référence de caractère avec la syntaxe &name;
(Remarque ; après le nom). L'analyseur attend un ; mais il ne le trouve pas (il y a plus de délimiteurs disponibles, c'est juste le cas le plus courant).
La solution s'échappe alors (la façon dont cela se fait 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&checkingCourseFrom=preLogin#.U2DcKvmSySo</loc>
</url>
Notez que &
a été remplacé par sa version d'échappement &
. 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 placer l'URL dans un section CDATA comme ceci:
<url>
<loc><![CDATA[http://www.ezed.in/ezed/courseDemoIntroPage.do?courseId=COU10000000138003530&checkingCourseFrom=preLogin#.U2DcKvmSySo]]></loc>
</url>
Une autre manière comme ci-dessous:
Au lieu de "CDATA
", nous pourrions utiliser la fonction native htmlspecialchars
PHP
pour le noeud url. cela fonctionnera peu de flux xml dont ils ne veulent pas CDATA
en sortie xml donc cela sera utile pour quelqu'un.
Merci
Je suis tombé sur le même problème aujourd'hui, si vous construisez les liens avec PHP vous pouvez utiliser cette fonction:
htmlspecialchars();
Il formatera la chaîne souhaitée pour vous en caractères HTML afin que vous puissiez l'insérer en tant que <loc>
.