您的位置:首页 > 其它

The content of elements must consist of well-formed character data or markup

2013-10-28 15:01 483 查看
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\
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: