java 中使用dom4j解析含有特殊字符的xml文件出现了如题的错误

这个时候需要在特殊字符外面加上

  1. <![CDATA[
  2. /6169220648+20671/1>7+-47390045<5+>*8<39><05+173*0>4253-->*4-1062//8-7>>>+8030004009
  3. ]]>

<?xml version="1.0" encoding="utf-8"?>
<TagYSIData xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" IdentityFlag="0" Message="">
 <szFpTaxCtl>
 <![CDATA[
 /6169220648+20671/1>7+-47390045<5+>*8<39><05+173*0>4253-->*4-1062//8-7>>>+8030004009
]]>
</szFpTaxCtl>
 <szFpCode>234000610101</szFpCode>
 <szFpSeriaoNo>00425873</szFpSeriaoNo>
 <szFpMachineNo>929100040029</szFpMachineNo>
 <szFpDate>2007-04-30</szFpDate>
 <szFpCarrierID>340102760830197</szFpCarrierID>
 <szFpTaxDepCode>23401700080</szFpTaxDepCode>
 <szFpReceicerID>320281755076476</szFpReceicerID>
 <szFpSenderID>+340121149265576</szFpSenderID>
 <szFpAgentCode></szFpAgentCode>
 <szFpCarriageSum>3876.60</szFpCarriageSum>
 <szFpTax></szFpTax>
 <szFpKind>01</szFpKind>
 <szFpImage>F:\Files\Upload\022013101710011111111.jpg</szFpImage>
 <szFpWorkDir>D:\工作区\SVN项目\PCM(图片识别程序)\AppStart\scanDLL\TaxScan\dll2\Image\</szFpWorkDir>
 <szFpType></szFpType>
 <szFpRealID></szFpRealID>
 <szFpFromToAddr></szFpFromToAddr>
 <szFpTaxAll></szFpTaxAll>
 <szFpCarNum></szFpCarNum>
 <szFpCarTonnage></szFpCarTonnage>
 <szFpremarks></szFpremarks>
</TagYSIData>

然后java代码解析就不会出现问题

import java.io.File;
import java.util.Iterator;

import org.dom4j.Document;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;

/**
 * XmlService.java
 * 版权所有(C) 2013
 * 创建:cuiran 2013-10-28 下午2:41:30
 */

/**
 * TODO
 * @author cuiran
 * @version 1.0.0
 */
public class XmlService {

public static void main(String[] args) {

		try{
			SAXReader reader = new SAXReader();
			Document document = reader.read(new File("E:\\022013101710011111111.xml")); 

			Element root = document.getRootElement();
			Iterator list  = root.elementIterator();
			while(list.hasNext())  {
				 Element resourceitem = (Element) list.next();
				 if(resourceitem.getName().equals("szFpTaxCtl")){
					 System.out.println(resourceitem.getData());
				 }
				 if(resourceitem.getName().equals("szFpCode")){
					 System.out.println(resourceitem.getData());
				 }
				 if(resourceitem.getName().equals("szFpSeriaoNo")){
					 System.out.println(resourceitem.getData());
				 }
				 if(resourceitem.getName().equals("szFpMachineNo")){
					 System.out.println(resourceitem.getData());
				 }
				 if(resourceitem.getName().equals("szFpDate")){
					 System.out.println(resourceitem.getData());
				 }
				 if(resourceitem.getName().equals("szFpCarrierID")){
					 System.out.println(resourceitem.getData());
				 }

				 if(resourceitem.getName().equals("szFpTaxDepCode")){
					 System.out.println(resourceitem.getData());
				 }
				 if(resourceitem.getName().equals("szFpReceicerID")){
					 System.out.println(resourceitem.getData());
				 }
				 if(resourceitem.getName().equals("szFpSenderID")){
					 System.out.println(resourceitem.getData());
				 }
				 if(resourceitem.getName().equals("szFpAgentCode")){
					 System.out.println(resourceitem.getData());
				 }
				 if(resourceitem.getName().equals("szFpCarriageSum")){
					 System.out.println(resourceitem.getData());
				 }
				 if(resourceitem.getName().equals("szFpTax")){
					 System.out.println(resourceitem.getData());
				 }
				 if(resourceitem.getName().equals("szFpKind")){
					 System.out.println(resourceitem.getData());
				 }
				 if(resourceitem.getName().equals("szFpImage")){
					 System.out.println(resourceitem.getData());
				 }
				 if(resourceitem.getName().equals("szFpWorkDir")){
					 System.out.println(resourceitem.getData());
				 }
				 if(resourceitem.getName().equals("szFpType")){
					 System.out.println(resourceitem.getData());
				 }
				 if(resourceitem.getName().equals("szFpRealID")){
					 System.out.println(resourceitem.getData());
				 }
				 if(resourceitem.getName().equals("szFpFromToAddr")){
					 System.out.println(resourceitem.getData());
				 }
				 if(resourceitem.getName().equals("szFpTaxAll")){
					 System.out.println(resourceitem.getData());
				 }
				 if(resourceitem.getName().equals("szFpCarNum")){
					 System.out.println(resourceitem.getData());
				 }
				 if(resourceitem.getName().equals("szFpCarTonnage")){
					 System.out.println(resourceitem.getData());
				 }

			}
		}catch(Exception e){
			e.printStackTrace();
		}
	}
}

运行结果:

 /6169220648+20671/1>7+-47390045<5+>*8<39><05+173*0>4253-->*4-1062//8-7>>>+8030004009

234000610101
00425873
929100040029
2007-04-30
340102760830197
23401700080
320281755076476
+340121149265576

3876.60

01
F:\Files\Upload\022013101710011111111.jpg
D:\工作区\SVN项目\PCM(图片识别程序)\AppStart\scanDLL\TaxScan\dll2\Image\

The content of elements must consist of well-formed character data or markup的更多相关文章

  1. ibatis动态sql配置启动时提示:The content of elements must consist of well-formed character data...

    ibatis动态sql配置启动时提示:The content of elements must consist of well-formed character data... 2012-07-18 ...

  2. mybatis 报The content of elements must consist of well-formed character data or markup. 语法格式错误

    最近在写sql的时候 同时使用到了 >= 和 <= 之前只使用一个的时候 没有什么问题,今天同时使用到了两个,结果xml出现了The content of elements must co ...

  3. thymeleaf 解析html时,出现 SAXParseException: The content of elements must consist of well-formed characte

    thymeleaf 解析html时,出现 SAXParseException: The content of elements must consist of well-formed characte ...

  4. ibatis配置文件中的XML解析错误The content of elements must consist of well-formed character data or markup.

    在检查过所有的标签名都没有问题的情况下. xml中的小于号属于非法字符. SQL语句中则可能需要小于号,此时就需要用<![CDATA[  ]]>将小于号包裹,如此不会被xml解析器解析. ...

  5. ibatiS启动的异常 The content of elements must consist of well-formed character data or markup

    ibatiS启动的异常 The content of elements must consist of well-formed character data or markup 配置的动态SQL语句里 ...

  6. Cause: org.xml.sax.SAXParseException: The content of elements must consist of well-formed character data or markup.

    Caused by: org.apache.ibatis.builder.BuilderException: Error creating document instance.  Cause: org ...

  7. Mybatis 异常: The content of elements must consist of well-formed character data or markup

    原因很简单:在ibatis的配置文件中不能出现小于号(>)     <delete id="deleteByPrimaryKey" parameterType=&quo ...

  8. MyBatis Sql语句中的转义字符

    1.在xml的sql语句中,不能直接用大于号.小于号要用转义字符 如果用小于号会报错误如下: org.apache.ibatis.builder.BuilderException: Error cre ...

  9. mybaits不能出现小于号

    org.xml.sax.SAXParseException; lineNumber: 146; columnNumber: 54; The content of elements must consi ...

随机推荐

  1. [Vim]vim使用笔记--分屏操作

    我们经常要打开多个文件,不同的窗口操作多个文件,分屏就很好用了. 1 命令模式下: :new,新建文件并分屏, 快捷键,Ctrl+W,然后马上按n键 :spilt 水平分屏,将当前屏分为两个,水平的. ...

  2. 安卓2.x的版本使用4.x的主题

    现在,还有大部分安卓开发者在开发安卓APP时使用的是2.x的SDK版本,为了兼容2.x的手机这本倒无可厚非,但最令人头痛的就是2.x版本的主题是在太丑了,这是安卓刚推出时只考虑到了实用,并没考虑到美观 ...

  3. SQL Server 索引维护(1)——系统常见的索引问题

    前言: 在很多系统中,比如本人目前管理的数据库,索引经常被滥用,甚至使用DTA(数据库引擎优化顾问)来成批创建索引(DTA目前个人认为它的真正用处应该是在发现缺失的统计信息,在以前的项目中,用过一次D ...

  4. 高仿QQ头像截取

    花费了半天时间,把 仿QQ头像截取的方法整理了下,并制作了一个demo以供大家参考,基本上实现了qq中我的资料界面上(包括背景透明化,上滑标题栏显示,下拉隐藏等)的大致效果,先上图看效果吧: 支持的功 ...

  5. 因 URL 意外地以“/HelloWorld”结束,请求格式无法识别

    http://www.cnblogs.com/AngelLee2009/p/3540527.html

  6. OpenMP基础----以图像处理中的问题为例

        OpenMP2.5规范中,对于可以多线程执行的循环有如下5点约束: 1.循环语句中的循环变量必须是有符号整形,如果是无符号整形就无法使用,OpenMP3.0中取消了这个约束 2.循环语句中的比 ...

  7. EBS接口程序调试

    这两天在做采购接收的时候有一个香港的业务实体的采购接不进去,但是其他业务实体能接进去,找错误话费了不少时间,也参考了网上好多资料,虽然最后这个方法没用但觉得还是很有用的,整理一下作为自己的一个总结 错 ...

  8. 【安卓中的缓存策略系列】安卓缓存策略之磁盘缓存DiskLruCache

    安卓中的缓存包括两种情况即内存缓存与磁盘缓存,其中内存缓存主要是使用LruCache这个类,其中内存缓存我在[安卓中的缓存策略系列]安卓缓存策略之内存缓存LruCache中已经进行过详细讲解,如看官还 ...

  9. 1073. Scientific Notation (20)

    题目如下: Scientific notation is the way that scientists easily handle very large numbers or very small ...

  10. Cocos2D iOS之旅:如何写一个敲地鼠游戏(十一):完善游戏逻辑

    大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请告诉我,如果觉得不错请多多支持点赞.谢谢! hopy ;) 免责申明:本博客提供的所有翻译文章原稿均来自互联网,仅供学习交流 ...