RSS 源 xmlParseEntityRef: no name 错误解决方法

张子凡 设计开发 2018-06-27 21:51:02 阅读(...) 评论(1)

最近子凡做开发的时间比较多,所以可能就会分享一些在开发中遇到的问题或解决方法,毕竟现在想要运营好站点,必要的技术实力才能更好的驱动,就像很多人都说 SEO 其实不需要会开发,不需要会代码,在如今这个趋势环境下,门槛看似变低了,而优秀的却需要有更好的技术能力。

RSS Feed Error

举个最简单的例子就是目前百度优化最直接的就是 MIP 和熊掌号,如果你没有一点点技术,估计就算想获得这些排名优势,也会变得望尘莫及吧!所以子凡虽然主攻的是网站 SEO 优化和网络营销推广,却也在用户体验和技术开发上面不断的下功夫,要的是更佳极致的效果,所有的东西也都变得相辅相成了。

还是回到今天子凡分享的主题,就是这几天在忙着将泪雪网的数据接入百度开放平台,也是之前很多人称的阿拉丁,现在也和熊掌号有些关联,总之就是最终的结果如果成功肯定是能够在百度方面或者不错的展示和优待,所以也就必须要自己来开发网站的数据接口做对接,这样才能有利于百度对泪雪网数据的抓取,那么其中主要的就是生成 XML 文件,以 RSS 源的形式根据官方的规范格式来开发。

所以开发完成最后测试的时候却诡异的出现了:xmlParseEntityRef: no name 的错误输出提示,子凡也是一头雾水,完全懵圈儿,虽然子凡对 xml 的规范还真的是不怎么了解,不过凭借自己的经验和测试来判断标签字段肯定是没有问题的,那么唯一的可能性就是有可能是输出的内容中存在特殊符号导致,不管三七二十一当然还是可以根据这个错误提示来 Google 一下看看吧。

直接访问 XML 文件的错误提示:

This page contains the following errors:
error on line 1 at column 176713: xmlParseEntityRef: no name
Below is a rendering of the page up to the first error.

果然不出所料,根据报错行,发现是因为内容中包含一个“&”符号,由于是利用 WordPress 开发,所以果断的使用了 WordPress 自带的 esc_html 函数,该函数可以将 < > & ” ‘(小于号,大于号,&,双引号,单引号)编码,转成 HTML 实体,已经是实体的并不转换,最后完美解决这个问题。当然如果你不是使用的 WordPress,你可能就需要单独替换或者处理,当然也可以通过删除&符号来解决问题。

除非注明,否则均为泪雪博客原创文章,禁止任何形式转载

本文链接:https://zhangzifan.com/xmlparseentityref-no-name.html

留言评论

登录 后留言