The content of elements must consist of well-formed character data or markup
5502 ワード
JAvaでdom 4 jを使用して特殊文字を含むxmlファイルを解析中に問題のようなエラーが発生しました
この場合は特殊文字の上に
/6169220648+20671/1>7+-47390045<5+>*8<39><05+173*0>4253-->*4-1062//8-7>>>+8030004009
]]>
Javaコード解析で問題は発生しません
実行結果:
この場合は特殊文字の上に
/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\