当前位置: 首页 > 图文教程 > XML家族 > XML > XML 非法字符(转义字符)

XML
XML入门教程:使用CSS显示XML
XML入门教程:XML 浏览器支持
WEB中基于XMLHTTP的简单实例分析
基于AJAX技术实现Struts校验框架
Java中四种XML解析技术之不完全测试
高手简论:说说标签切换应用原则
使用Ajax时的十个常犯的错误
ajax代理程序自动判断字符编码
高效交换XML文档
读取XML为行记录
如何建立一个 XML 的开发环境
十分钟学会 xajax
基于AJAX技术提高搜索引擎排名
XML时代我们拥有.Net
更正用AJAX实现IE TREE无刷新取值的方法
利用XSLT来换XML的根
开发保留标准的浏览器功能的AJAX应用
用XML+VBS在ASP中实现报表的打印
建立MS XML 测试环境
XML入门精解之文件格式定义

XML 非法字符(转义字符)


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2010-01-10   浏览: 461 ::
收藏到网摘: n/a

严格地讲,在 XML 中仅有字符 "<"和"&" 是非法的。省略号、引号和大于号是合法的,但是把它们替换为实体引用是个好的习惯。 如往常一样,
客户发给我一个xml文件,
用来更新数码课堂日程安排——是一个js读取xml文件达到鼠标经过日历显示每日课程安排的效果,有类于Ajax数据读取(只不过数据是完全静态更新)的脚本程序
由于是两方来完成整个日程更新(客户把制作页面和更新网站分开),
给我的xml文件总是有问题,
由于经常做,知道制作方在html代码水平上还是比较初级,
所以每次更新前总要对他们给的文件校正,
果然还是有问题,
如往常一样,我检查文件内容的每个标签是否完整,
检查出一处错误,感觉应该OK了,
可是页面还是显示读取xml数据失败,
我又从头到尾挨个检查标签(文件还挺长,我好可怜啊,呜呜~~~),
居然没有发现什么错误,哎,眼花,郁闷~~~,
无奈之下,只好将代码拷出来,
再挨个拷进去,边拷边刷新页面预览效果,
来回好几回,终于发现有好几处代码都有问题,
语法上好像没什么错误~~~,标签完整~~,
突然发现在内容里都有“&“,可恶,
总盯着标签查半天,忘了可能是内容里的字符冲突,
替换一下,果然好了,
为了详细理解,我上 w3school 查了一下:
转义字符
非法的 XML 字符必须被替换为实体引用(entity reference)。
在 XML 中有 5 个预定义的实体引用:
< < 小于
> > 大于
& & 和号
' ' 省略号
" " 引号
注释:严格地讲,在 XML 中仅有字符 "<"和"&" 是非法的。省略号、引号和大于号是合法的,但是把它们替换为实体引用是个好的习惯。
原来如此,真相大白,
只能怪自己倒霉,也怪自己对XML了解不够