过滤xml中的非法字符串
一般xml中如果含有&等字符,可以通过CDATA来过滤,但是含有一些不认识的特殊字符时候就会不起作用,下面是从别人那儿拿来的一个过滤方
法,过滤xml中的非法字符:
//XML标准规定的无效字节为:
/*
0×00 – 0×08
0×0b – 0×0c
0×0e – 0×1f
*/
//所以很简单,输出的时候过滤这些字符就万无一失了,下面是PHP的实现。
/* PHP 实现 */
function XmlSafeStr($s)
{
return preg_replace(“/[\\x00-\\x08\\x0b-\\x0c\\x0e-\\x1f]/”,”,$s);
}
W3C的XML规范中关于字符的定义请参看这里:http://www.w3.org/TR/2004/REC-xml-20040204
/#charsets。
过滤非法字符对应的Java版本如下:
public
String
filter(
String
s)
{
return
s.replaceAll
(
"[\\
x00-\\
x08\\
x0b-\\
x0c\\
x0e-\\
x1f]"
, ""
)
;
}
相关文档:
sql2005中一个xml聚合的例子 收藏
该问题来自论坛提问,演示SQL代码如下
--建立测试环境
set nocount on
create table test(ID varchar(20),NAME varchar(20))
insert into test select '1','aaa'
insert into test select '1','bbb'
insert into test select '1','ccc'
insert into test select '2','ddd'
inser ......
XML的四种解析器原理及性能比较 ......
今天继续讲XML,争取在下午5点前占领XML高地。一共三个主要内容:SAX解析技术,DOM4J和SCHEMA。
首先是SAX解析技术:SAX采用事件处理的方式解析XML文件。利用 SAX 解析 XML 文档,涉及两个部分:解析器和事件处理器。
解析器负责读取 XML 文档,并向事件处理器发送事件
事件处理器负责对事件做出相应,对传递的 XML 数据 ......
一、解析XML文件时,遇到DTD的定义要怎么办?
下面这段代码是ibatis配置文件,用w3c Dom(其实任意一种解析方式都是这样)都会从http://www.ibatis.com/dtd/sql-map-config-2.dtd
这
个地址找对应的DTD文件进行校验,如果因特网上这个地址不存在的话,就会报 java.net.ConnectException:
Con ......
Standards
"DTD" was the first formalized standard, but is rarely used anymore.
"XDR" was an early attempt by Microsoft to provide a more comprehensive standard than DTD. This standard has pretty much been abandoned now in favor of XSD.
"XSD" is currently the de facto standard for describing XML d ......