<url>
<loc>http://www.ezed.in/ezed/courseDemoIntroPage.do?courseId=COU10000000138003530&checkingCourseFrom=preLogin#.U2DcKvmSySo</loc>
</url>
第102行第102行的错误:EntityRef:期待';'
无法弄清楚可能出现的问题。
答案 0 :(得分:75)
您的网址必须转义。
&amp; 字符在XML中用于插入带有语法&name;
的字符引用(注意名称后的; )。解析器期望; 但它找不到它(有更多可用的分隔符,这只是最常见的情况)。
解决方案然后转义(它是如何完成取决于您用来生成该XML文件的语言),但最终结果必须是这样的:
<url>
<loc>http://www.ezed.in/ezed/courseDemoIntroPage.do?courseId=COU10000000138003530&checkingCourseFrom=preLogin#.U2DcKvmSySo</loc>
</url>
请注意,普通&
已被其转义版本&
取代。有关详细信息,请参阅this simple article。
另一种可能的解决方案(如果你不想/你无法逃脱)是将URL包含在CDATA section内,如下所示:
<url>
<loc><![CDATA[http://www.ezed.in/ezed/courseDemoIntroPage.do?courseId=COU10000000138003530&checkingCourseFrom=preLogin#.U2DcKvmSySo]]></loc>
</url>
答案 1 :(得分:4)
另一种方式如下:
而不是&#34; CDATA
&#34;我们可以为url节点使用htmlspecialchars
PHP
本机函数。它会在xml输出中使用很少的xml提要,因此这对某人有用。
由于
答案 2 :(得分:1)
我今天偶然发现了同一个问题,如果您使用PHP构建链接,则可以使用以下功能:
htmlspecialchars();
它将为您格式化所需的字符串为HTML字符,以便您可以将其插入为<loc>
。
答案 3 :(得分:0)
只需将'&'替换为'&a m p;'没有空格,我把它放在这里!