欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  新闻

Blogger导入XML文件出错分析

程序员文章站 2022-04-02 10:00:09
  这些天遇到一个问题,通过Blogger导入一个XML格式的文件,一直没有导入成功,我分析原因属于XML格式转换的问题,折腾了好几天才找到原因,因此记录一下整个过程。...

  这些天遇到一个问题,通过blogger导入一个xml格式的文件,一直没有导入成功,我分析原因属于xml格式转换的问题,折腾了好几天才找到原因,因此记录一下整个过程。

  在使用的时候,由于之前的转化工具已经歇菜,因此使用了一个插件“export to blogger”来解决问题,大部分内容导出到都没问题,但奇怪的是有一个转化好的xml文档始终都无法导入到blogger中,不知道是怎么回事。

  经过了多次尝试和分析,我确认是文档中的某个字符转化错误导致无法导入,然而文档长达2m大小,很难从中找到具体是哪个字符出错,因此就暂时作罢。

  后来我想到了一个思路,利用xml validator这种格式检查工具来检测xml文件,但是找了好几个检查工具,都只支持最大64k的文件大小,无法检测大文件,后来,我双击xml文件发现,ie浏览器会对正确的xml文件进行格式渲染,而对错误的xml文件直接显示源代码,这也就意味着我可以把ie当成一个xml验证器。

  于是开工,先把xml文件分成两半,用ie打开,一半成功渲染,另一半不成功,因此确认问题在某一半,依次循环操作,逐次切割,最终将文件切割到了几个字符,但我依然没有看到有什么异常字符。

  最终切割到只有1、2个字符的时候,我发现了问题所在,原来这2个字符中间居然有一个隐藏字符,使用普通文本编辑器根本看不到这个字符,我使用winhex来查看,原来这个隐藏字符是ascii码1c,将这个隐藏字符删除后,xml文件渲染终于成功了。

  实际上,ascii码1c到1f都是隐藏看不见的字符,如果这样的字符存在xml文件之中,xml格式不会报错,但就是无法导入到google blogger中,导入过程也不报错,就是无法导入成功,将这些隐藏字符删除后,才能正确地导入。

  可惜的是,一般编辑器都不支持搜索这种隐藏字符,估计要换一个比较专业的编辑器才能看到并搜索这种隐藏字符。

Blogger导入XML文件出错分析