当前位置 博文首页 > XML 非法字符(转义字符)

    XML 非法字符(转义字符)

    作者:admin 时间:2021-08-18 18:58

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