The content of elements must consist of well-formed character data or markup
java 中使用dom4j解析含有特殊字符的xml文件出现了如题的错误
这个时候需要在特殊字符外面加上
- <![CDATA[
- /6169220648+20671/1>7+-47390045<5+>*8<39><05+173*0>4253-->*4-1062//8-7>>>+8030004009
- ]]>
<?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的更多相关文章
- 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 ...
- mybatis 报The content of elements must consist of well-formed character data or markup. 语法格式错误
最近在写sql的时候 同时使用到了 >= 和 <= 之前只使用一个的时候 没有什么问题,今天同时使用到了两个,结果xml出现了The content of elements must co ...
- 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 ...
- ibatis配置文件中的XML解析错误The content of elements must consist of well-formed character data or markup.
在检查过所有的标签名都没有问题的情况下. xml中的小于号属于非法字符. SQL语句中则可能需要小于号,此时就需要用<![CDATA[ ]]>将小于号包裹,如此不会被xml解析器解析. ...
- 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语句里 ...
- 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 ...
- Mybatis 异常: The content of elements must consist of well-formed character data or markup
原因很简单:在ibatis的配置文件中不能出现小于号(>) <delete id="deleteByPrimaryKey" parameterType=&quo ...
- MyBatis Sql语句中的转义字符
1.在xml的sql语句中,不能直接用大于号.小于号要用转义字符 如果用小于号会报错误如下: org.apache.ibatis.builder.BuilderException: Error cre ...
- mybaits不能出现小于号
org.xml.sax.SAXParseException; lineNumber: 146; columnNumber: 54; The content of elements must consi ...
随机推荐
- 2.Cocos2dx 3.2中的重力系统Box2D
1 添加Box2D相关的库 步骤1:右击项目所在的解决方案à添加->现有项目àE:\Installed\cocos2d-x-3.2\cocos2d-x-3.2\external\Box2D ...
- android viewpager切换到最后一页时,跳转至其他activity
许许多多的qpp,在启动时会显示一些帮助页或者产品介绍什么的,通常滑动到最后一页时会有一个开始体验的按钮,用来跳转到app的主activity上,但是如果没有? 可以通过如下方法实现: 1.为View ...
- UNIX网络编程——原始套接字(dos攻击)
原始套接字(SOCK_RAW).应用原始套接字,我们可以编写出由TCP和UDP套接字不能够实现的功能. 注意原始套接字只能够由有 root权限的人创建. 可以参考前面的博客<<UNIX网络 ...
- 1086. Tree Traversals Again (25)
题目如下: An inorder binary tree traversal can be implemented in a non-recursive way with a stack. For e ...
- StarUML中InteractionOperation的画法
StarUML画InteractionOperation的方法:http://stackoverflow.com/questions/16152278/using-alt-in-sequence-di ...
- Java中httpClient中三种超时设置
本文章给大家介绍一下关于Java中httpClient中的三种超时设置小结 在Apache的HttpClient包中,有三个设置超时的地方: /* 从连接池中取连接的超时时间*/ ConnManage ...
- 分布式数据库HBase表设计
比较常用的数据库是关系型数据库,但很多场景下nosql数据库会更加擅长,从sql到nosql实施的第一步就是设计表结构,这是两种不同的思维方式,这里说下HBase表设计. 需求:需要一张stock表用 ...
- android dataBinding详解
官方介绍地址:http://developer.android.com/intl/zh-cn/tools/data-binding/guide.html 2015 Google IO 大会带来的 Da ...
- String之常量池小结
1.String 常量池 String使用private final char value[ ]实现字符串的存储,也就是说String创建对象之后不能够再次修改此对象中存储的字符串内容,因而Strin ...
- 03_Weblogic之配置简单域:启动和配置域,使用模板创建域,使用控制台
1 域:概览 是Oracle Weblogic Server的基本管理单元 始终包含一个配置为管理服务器的Oracle WebLogic Server实例 域中可以包括一些称为受管服务器的Ora ...