java 中使用dom4j解析含有特殊字符的xml文件出现了如题的错误
这个时候需要在特殊字符外面加上
- <?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\