XML 非法字符(转义字符)_XML基础

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

时间: 2024-10-30 12:02:20

XML 非法字符(转义字符)_XML基础的相关文章

XML 取得元素的字符数据_XML基础

串接样式表是一个包含安排XML 文件中元素相关指令的档案.因为你已经利用XML创造了自己的元素,浏览器并不知道如何适当地显示这些元素. 列表9-3 中的script 程序使用每个子元素(TITLE.AUTHOR.BINDING.PAGES 与PRICE)的text 属性,来作为取得元素字符数据的快捷方法.例如,下列的程序代码被用来撷取TITLE元素中的字符数据: title.innerText=Document.documentElement.childNodes(0).text;    tex

怎样才能用js生成xmldom对象,并且在firefox中也实现xml数据岛?_XML基础

一般来说,xml文件都是从外部载入的,那么我们如何只用js生成xml对象呢?下面的程序实现了这一点,只需要输入字符串形式的xml数据,就可以转换为xml对象,并且兼容firefox. 用这种方法,我们也可以在firefox中实现xml数据岛,即用xmp标签来装载xml字符串,然后调用createXml函数来生成xml.    由于firefox中不支持节点的.xml属性,所以需要给它添加该属性,使之与IE一致 复制代码 代码如下: <body> <xmp id=x1>     &l

python sax模块解析xml遇到非法字符怎么解决?

问题描述 python sax模块解析xml遇到非法字符怎么解决? 1C 用python的sax模块解析xml的时候出现非法字符直接停止了,百度搜到有大神说用回调函数处理当前的非法字符或者跳过直接运行接下来的内容.不过具体应该怎么实现呢?求大神赐教.下面是我的代码,非法字符是出现再其中的很多个tagname=""url""中的内容,能在原来的基础上改就更好了,再次感谢 import xml.saxclass XmlHandler( xml.sax.ContentHa

XML指南——XML编码_XML基础

   XML文档可以包含外文字符比如挪威语或者法语(中文当然也可以!这一部分还是不能照原文翻译,下面有些内容是我自己写的) 为了让你的解析器能够明白这些字符,你必须在XML文档中统一的字符编码标准. Windows 95/98 记事本 Windows 95/98 记事本不能以Unicode的编码格式保存文件. 可以使用记事本来编辑和保存包含了外文字符的XML文档 (比如:挪威语或者法语或者中文) <?xml version="1.0"?> <note> <

如何过滤高亮显示非法字符_php基础

<?//我只是做一个测试,如果再用类似tmd的字符串,一定要注意,如果字符串中的字符出现在$StartReplaceHtml或者$EndReplaceHtml中,你需要修改下面的preg_replace中的规则$CheckedMessage="Hello!!他X的..他....X...的....How are you m d ";     //the message to be checked echo $CheckedMessage."<br>"

html和xml中的转义字符在Flash as3中的用法浅析

在as3中使用特殊字符的时候,不小心就会出现错误,要么字符没有被显示,要么显示的不对,本文章就此做一个简单的分析,如有更好的分析,请一定要跟贴. sample.xml和sample_cdata.xml是本例需要用到的xml文件,请点击查看他们的内容,本例以特殊字符< 和> 为例:文本字符串变量为txt, 显示文本的名称为shwo_txt. 由于html和xml中<和>有特殊含义,不能直接使用,使用这两个字符时,应使用他们的转义序列,也即<和>,故在xml文件中<

jquery-jQuery问题不能让键盘打出非法字符

问题描述 jQuery问题不能让键盘打出非法字符 用jQuery来控制键盘不能再文本框中输入非法字符:'"<>@$&% 解决方案 注册onkepup事件,然后利用正则表达式进行判断. 解决方案二: XML中是不能包含这些非法字符的过滤非法字符问题 解决方案三: var patrn=/[`~!@#$%^&*()_+<>?:"{},./;'[]]/im; if(patrn.test(zyd_name)){ alert("提示信息:您输入的数

给whygod,如何过滤高亮显示非法字符!

高亮显示 <?//我只是做一个测试,如果再用类似tmd的字符串,一定要注意,如果字符串中的字符出现在$StartReplaceHtml或者$EndReplaceHtml中,你需要修改下面的preg_replace中的规则$CheckedMessage="Hello!!他X的..他....X...的....How are you m d ";     //the message to be checked echo $CheckedMessage."<br>&

ASP过滤SQL非法字符并格式化html代码

sql <%function changechr(str) changechr=replace(replace(replace(replace(str,"<","<"),">",">"),chr(13),"<br>")," "," ") changechr=replace(replace(replace(replace(cha