sax解析含特殊符号的xml文档

sax解析含特殊符号的xml文档

ID:11809943

大小:17.99 KB

页数:0页

时间:2018-07-14

sax解析含特殊符号的xml文档_第页
预览图正在加载中,预计需要20秒,请耐心等待
资源描述:

《sax解析含特殊符号的xml文档》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、SAX解析含特殊字符的xml文档(java)一、不含自定义字符或含较少量的特殊字符一般的特殊字符有五个:&,<,>,’(单引号),”(双引号)。这些字符如果直接出现在xml文档中,一般是不能解析出来的,如解析a&b时会报错。解决方法有两个:1.用标记;2.转义。1.用标记对于含特殊字符的element用标记起来即可成功解析,如该方法简单但不实用,对于每个含特殊字符的element都要用标记。数量很

2、少是推荐用这种方法。2.转义特殊字符数量很多时方法1显然不实用,此时可用转义来实现:<<小于号>>大于号&&和''单引号""双引号即将xml中的特殊文档全部替换为转义字符,如a&b变成a&b。但是对于这种情况解析过程会发生变化,不是一次性解析a&b,而是分三步,先解析a,然后是&,然后是b,因此要注意想要获得中数据必须要用String变量将这三部分加起来。即解析程序中publicvoidcharacters(char[]ch,intstart,intlen

3、gth)throwsSAXException{if(this.tagName!=null){Stringdate=newString(ch,start,length);//date就是当前节点(tagName)解析出来的数据example=example+date;//example是已申明的用来存储中数据的Sting变量}}这样解析出的example变量才是a&b,如果直接用example=date;得到的example的变量的只是b。二、含自定义字符或含较多的特殊字符(用dtd文件验证)DTD文件格式及验证xml原理(百度)如何解析含DTD的xml文件呢?将dtd文件导

4、入当前工程,在xml文件中加入即可。如解析aüb,在dtd文件中声明验证ü代表字符ü。三、含单引号的xml解析后插入数据库:用上面方法可以解析出xml中含单引号的数据(String型数据),但要将数据插入数据库中却很容易出现问题,因为sql语句中不允许单独的单引号存在,解决办法很简单,将解析所得的数据中的单引号用函数replaceAll()替换成双引号在插入

5、数据库即可。四、解析含较多实体引用的大型的xml文档(如1G)xml实体引用都是以&开头,以;结尾,如第二大点中的ü就是一个实体引用。对于大型的xml文档,含有的实体引用可能太多导致解析过程报错:Parserhasreachedtheentityexpansionlimit"64,000"setbytheApplication.即单个xml文件中实体引用超过了默认值64000个。这时只要在解析前设置单个xml文件中实体引用的最大数量即可,System.setProperty("entityExpansionLimit","xxxxx");。xxxxx代表设定的单文件实体引用数最大值

6、。

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。