返回顶部
首页 > 资讯 > 精选 >Java如何解析xml文件遇到特殊符号异常的情况
  • 526
分享到

Java如何解析xml文件遇到特殊符号异常的情况

2023-06-15 01:06:31 526人浏览 薄情痞子
摘要

这篇文章将为大家详细讲解有关Java如何解析xml文件遇到特殊符号异常的情况,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。在一次Java解析xml文件的开发过程中,使用SAX解析时,出现了这样一个异常信息

这篇文章将为大家详细讲解有关Java如何解析xml文件遇到特殊符号异常的情况,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

在一次Java解析xml文件的开发过程中,使用SAX解析时,出现了这样一个异常信息:

Error on line 60 of document : 对实体 "xxx" 的引用必须以 ';' 分隔符结尾;

我打开xml文件后,发现该“xxx"符号之前跟着一个”&“符号,后来了解到,这类符号在xml里属于一种特殊符号,而特殊符号若没用转义符表示,直接用到xml文件里,就会在使用SAX等方式做解析时出现奇怪的异常。

其实,这都是因为这些特殊字符造成的。

XML当中特殊符号包括< > & ' "等,它们是不允许作为xml文件的PCDATA,若想使用话,需用转义符代替:

&lt;    <
&gt;    >
&amp;   &
&quot;  "
&apos;  '

那么,若要正常读取xml文件数据,应该如何使用转义符替换呢?

刚开始是想百度一番如何解决,却发现好多帖子都是好几年前的,且都没有写清楚怎么个解决方法,大多都是提到是特殊符号引起的解析异常,但怎么过滤掉,显得含糊其辞,因此,只能自己胡乱捣鼓一番,捣鼓出一个比较合适的将特殊字符过滤的方案。

实现思路其实很简单,我们可以在读取xml文件使用SAX解析前,先把xml文件通过Reader读取,然后按行读取出来拼接成一个String字符串,再使用字符串的替换方法replaceAll()将特殊符号进行替换,替换后,就可以将字符串形式的xml直接转成Document对象做xml解析了:

  String xmlStr=s.replaceAll("&","&amp;");

转换方法代码如下:

StringBuffer buffer = new StringBuffer();  BufferedReader bf= new BufferedReader(new FileReader("D:\\测试.xml"));  String s = null;     while((s = bf.readLine())!=null){     buffer.append(s.trim());  }  String str = buffer.toString();  //在这一步进行字符替换,替换成合法转义字符  String xml=str.replaceAll("&","&amp;");  //这里就可以将处理过的xml文件进行读取解析了  Document document =  DocumentHelper.parseText(xml);

Java可以用来干什么

Java主要应用于:1. web开发;2. Android开发;3. 客户端开发;4. 网页开发;5. 企业级应用开发;6. Java大数据开发;7.游戏开发等。

关于“Java如何解析xml文件遇到特殊符号异常的情况”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

--结束END--

本文标题: Java如何解析xml文件遇到特殊符号异常的情况

本文链接: https://lsjlt.com/news/276684.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Java如何解析xml文件遇到特殊符号异常的情况
    这篇文章将为大家详细讲解有关Java如何解析xml文件遇到特殊符号异常的情况,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。在一次Java解析xml文件的开发过程中,使用SAX解析时,出现了这样一个异常信息...
    99+
    2023-06-15
  • Java解析xml文件遇到特殊符号异常的情况(处理方案)
    在一次Java解析xml文件的开发过程中,使用SAX解析时,出现了这样一个异常信息: Error on line 60 of document : 对实体 "xxx" 的引用必须以...
    99+
    2024-04-02
  • 遇到EXT3 MYSQL文件遭到恶意删除的情况,该如何解决?
    【数据恢复故障描述】 客户服务器操作系统及应用环境为redhat4.6 mysql,数据库用于存储教师及学生的注册信息,linux脚本每天会定时将数据库文件打包成tar.gz备份到本地其他数据分区,备份成功...
    99+
    2024-04-02
  • 编写Java程序时,如何处理Unix文件路径中的特殊字符?
    在Java编程中,处理Unix文件路径中的特殊字符是一个非常常见的问题。Unix文件路径中的特殊字符包括斜杠(/)、点(.)、双点(..)等,在处理文件路径时需要进行特殊处理,否则可能会导致程序出错。本文将介绍如何在Java程序中处理Uni...
    99+
    2023-09-12
    编程算法 unix path
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作