XML 非法字符(转义字符)

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

(0)

相关推荐

  • PHP字符转义相关函数小结(php下的转义字符串)

    文章中有不正确的或者说辞不清的地方,麻烦大家指出了--- 与PHP字符串转义相关的配置和函数如下: 1.magic_quotes_runtime 2.magic_quotes_gpc 3.addslashes()和stripslashes() 4.mysql_escape_string() 5.addcslashes()和stripcslashes() 6.htmlentities() 和html_entity_decode() 7.htmlspecialchars()和htmlspecialc

  • JQuery对id中含有特殊字符的转义处理示例

    有时在处理html时, 为了和php结合的方便, 会利用数组a[]这里的id,或者id中包含其他特殊字符比如 /@ 等 为了利用jquery获取该元素, 需要转义特殊字符 直接上例子 复制代码 代码如下: <div id="a[]">kkkkkk</div> <script type="text/javascript"> //方法1 $(document.getElementById('a[]')); //方法2 $('#a\\[

  • js特殊字符转义介绍

    点的转义:. ==> \\u002E 美元符号的转义:$ ==> \\u0024 乘方符号的转义:^ ==> \\u005E 左大括号的转义:{ ==> \\u007B 左方括号的转义:[ ==> \\u005B 左圆括号的转义:( ==> \\u0028 竖线的转义:| ==> \\u007C 右方括号转义:] ==> \\u005D 右圆括号的转义:) ==> \\u0029 星号的转义:* ==> \\u002A 加号的转义:+ ==>

  • php 字符转义 注意事项

    在php中: * 以单引号为定界符的php字符串,支持两个转义\'和\\ * 以双引号为定界符的php字符串,支持下列转义: \n 换行(LF 或 ASCII 字符 0x0A(10)) \r 回车(CR 或 ASCII 字符 0x0D(13)) \t 水平制表符(HT 或 ASCII 字符 0x09(9)) \\ 反斜线 \$ 美元符号 \" 双引号 \[0-7]{1,3} 此正则表达式序列匹配一个用八进制符号表示的字符 \x[0-9A-Fa-f]{1,2} 此正则表达式序列匹配一个用十六进制符

  • 转义字符(\)对JavaScript中JSON.parse的影响概述

    按照ECMA262第五版中的解释,JSON是一个提供了stringify和parse方法的内置对象,前者用于将js对象转化为符合json标准的字符串,后者将符合json标准的字符串转化为js对象.json标准参考<a href="http://json.org/" target="_blank">json.org</a>.(其实将符合json标准的字符串转化为js对象可以用eval,但是eval性能相对差且存在安全隐患(会执行json字符串中

  • MySQL 转义字符使用说明

    MySQL的转义字符"\" mfc_basic MySQL识别下列转义字符: \0 一个ASCII 0 (NUL)字符. \n 一个新行符. \t 一个定位符. 制符分隔 \r 一个回车符. \b 一个退格符. \' 一个单引号("'")符. \" 一个双引号(""")符. 一个反斜线("\")符. \% 一个"%"符.它用于在正文中搜索"%"的文字实例,否则这里&q

  • Oracle中转义字符的详细介绍

    最近工作中遇到一个需求,需要更新Oracle数据库中所有表的一个字段"flag"为"I",语句为: update table_name set flag = 'I' "I"作为字符串,所以语句中I需要加上单引号. 由于数据库中有多张表,我不想一条一条的语句写,希望能够通过sql语句直接生成所有的语句,所以写了如下sql: select 'update ' || table_name || ' set flag = 'I'' || ';' from

  • ACCESS中关于SQL语句的转义字符

    转义:转义[字符,用[[],包括转义*也用[*],转义%,用[%] 例: objRS.Open("SELECT * FROM blog_Comment WHERE comm_Content LIKE '%[[]url=%'")

  • c#转义字符串中的所有正则特殊字符方法示例

    复制代码 代码如下: /// <summary>        /// 转义字符串中所有正则特殊字符        /// </summary>        /// <param name="input">传入字符串</param>        /// <returns></returns>        string FilterString(string input)        {           

  • 正则中需要转义的特殊字符小结

    如果要查找文件名中有*的文件,则需要对*进行转义,即在其前加一个\.ls \*.txt.正则表达式有以下特殊字符.需要转义 特别字符 说明 $ 匹配输入字符串的结尾位置.如果设置了 RegExp 对象的 Multiline 属性,则 $ 也匹配 '\n' 或 '\r'.要匹配 $ 字符本身,请使用 \$. ( ) 标记一个子表达式的开始和结束位置.子表达式可以获取供以后使用.要匹配这些字符,请使用 \( 和 \). * 匹配前面的子表达式零次或多次.要匹配 * 字符,请使用 \*. + 匹配前面

随机推荐