我的XML向我显示了一个关于未定义实体的错误,因为我的数据显示了特殊的字符,如& eacute;和类似的...我该如何解决?
<track href="file.mp3" title="<?php echo $title;?> <?php echo $artist;?>" target="http://www.site.com" rel="hdefault.jpg">
<meta>
<![CDATA[ <a href="http://www.site.com/search" target="_blank">More info</a> ]]>
</meta>
</track>
我知道我必须使用CDATA,但如果我尝试:
title="<![CDATA[ <?php echo $title;?> ]]>"
它告诉我:
第19行第7行的错误:未转义''&lt;'属性值中不允许
答案 0 :(得分:3)
é
在XML中没有任何意义,除非有一个DTD描述了什么字符“eacute”是和 XML解析器是一个DTD解析器(这是一个很大的if)。
如果要在XML文档中可靠地表示é,则需要:
如果要在HTML文档中嵌入HTML,则必须使用:
&
代表&
,因此如果您想在XML文档中表示HTML é
,则需要&eacute;
。title属性可能是“标题”而不是“标题的HTML表示”,所以使用文字é可能是你最好的选择。
不幸的是,您的原始数据中似乎没有HTML而不是文本,因此您可能必须先清理传入的数据才能使用它。