XML 非法字符(转义字符)
如往常一样,
客户发给我一个xml文件,
用来更新数码课堂日程安排——是一个js读取xml文件达到鼠标经过日历显示每日课程安排的效果,有类于Ajax数据读取(只不过数据是完全静态更新)的脚本程序
由于是两方来完成整个日程更新(客户把制作页面和更新网站分开),
给我的xml文件总是有问题,
由于经常做,知道制作方在html代码水平上还是比较初级,
所以每次更新前总要对他们给的文件校正,
果然还是有问题,
如往常一样,我检查文件内容的每个标签是否完整,
检查出一处错误,感觉应该OK了,
可是页面还是显示读取xml数据失败,
我又从头到尾挨个检查标签(文件还挺长,我好可怜啊,呜呜~~~),
居然没有发现什么错误,哎,眼花,郁闷~~~,
无奈之下,只好将代码拷出来,
再挨个拷进去,边拷边刷新页面预览效果,
来回好几回,终于发现有好几处代码都有问题,
语法上好像没什么错误~~~,标签完整~~,
突然发现在内容里都有“&“,可恶,
总盯着标签查半天,忘了可能是内容里的字符冲突,
替换一下,果然好了,
为了详细理解,我上 w3school 查了一下:
转义字符
非法的 XML 字符必须被替换为实体引用(entity reference)。
在 XML 中有 5 个预定义的实体引用:
< < 小于
> > 大于
& & 和号
' ' 省略号
" " 引号
注释:严格地讲,在 XML 中仅有字符 "<"和"&" 是非法的。省略号、引号和大于号是合法的,但是把它们替换为实体引用是个好的习惯。
原来如此,真相大白,
只能怪自己倒霉,也怪自己对XML了解不够
相关推荐
-
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) {
-
js特殊字符转义介绍
点的转义:. ==> \\u002E 美元符号的转义:$ ==> \\u0024 乘方符号的转义:^ ==> \\u005E 左大括号的转义:{ ==> \\u007B 左方括号的转义:[ ==> \\u005B 左圆括号的转义:( ==> \\u0028 竖线的转义:| ==> \\u007C 右方括号转义:] ==> \\u005D 右圆括号的转义:) ==> \\u0029 星号的转义:* ==> \\u002A 加号的转义:+ ==>
-
MySQL 转义字符使用说明
MySQL的转义字符"\" mfc_basic MySQL识别下列转义字符: \0 一个ASCII 0 (NUL)字符. \n 一个新行符. \t 一个定位符. 制符分隔 \r 一个回车符. \b 一个退格符. \' 一个单引号("'")符. \" 一个双引号(""")符. 一个反斜线("\")符. \% 一个"%"符.它用于在正文中搜索"%"的文字实例,否则这里&q
-
转义字符(\)对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字符串中
-
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} 此正则表达式序列匹配一个用十六进制符
-
正则中需要转义的特殊字符小结
如果要查找文件名中有*的文件,则需要对*进行转义,即在其前加一个\.ls \*.txt.正则表达式有以下特殊字符.需要转义 特别字符 说明 $ 匹配输入字符串的结尾位置.如果设置了 RegExp 对象的 Multiline 属性,则 $ 也匹配 '\n' 或 '\r'.要匹配 $ 字符本身,请使用 \$. ( ) 标记一个子表达式的开始和结束位置.子表达式可以获取供以后使用.要匹配这些字符,请使用 \( 和 \). * 匹配前面的子表达式零次或多次.要匹配 * 字符,请使用 \*. + 匹配前面
-
JQuery对id中含有特殊字符的转义处理示例
有时在处理html时, 为了和php结合的方便, 会利用数组a[]这里的id,或者id中包含其他特殊字符比如 /@ 等 为了利用jquery获取该元素, 需要转义特殊字符 直接上例子 复制代码 代码如下: <div id="a[]">kkkkkk</div> <script type="text/javascript"> //方法1 $(document.getElementById('a[]')); //方法2 $('#a\\[
-
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
-
Oracle中转义字符的详细介绍
最近工作中遇到一个需求,需要更新Oracle数据库中所有表的一个字段"flag"为"I",语句为: update table_name set flag = 'I' "I"作为字符串,所以语句中I需要加上单引号. 由于数据库中有多张表,我不想一条一条的语句写,希望能够通过sql语句直接生成所有的语句,所以写了如下sql: select 'update ' || table_name || ' set flag = 'I'' || ';' from
随机推荐
- jQuery 利用ztree实现树形表格的实例代码
- node.JS md5加密中文与php结果不一致的解决方法
- javascript cookie用法基础教程(概念,设置,读取及删除)
- 如何查看连接MYSQL数据库的IP信息
- php数组索引与键值操作技巧实例分析
- 关于URL最大长度限制的相关资料查证
- php操作access数据库的方法详解
- jquery实现兼容IE8的异步上传文件
- Jquery Ajax.ashx 高效分页实现代码
- Java 值传递和引用传递详解及实例代码
- Win XP/2003系统服务备份与保护
- CentOS中使用virtualenv搭建python3环境
- C#视频转换类分享
- Visual Studio Code(vscode) git的使用教程
- C语言学生成绩管理系统课程设计
- vue 使用Jade模板写html,stylus写css的方法
- vue.js 底部导航栏 一级路由显示 子路由不显示的解决方法
- java 实现读取txt文本数据并以数组形式一行一行取值
- python中强大的format函数实例详解
- 详解Ubuntu安装angular-cli遇到的坑