在使用itext过程中,我需要把数据存储到xml文件中去,方法如下:
package itext;import com.lowagie.text.*;
import com.lowagie.text.xml.*;
import com.lowagie.text.html.*;
import com.lowagie.text.pdf.*;
import java.io.*;
import java.util.*;
import java.text.*;public class test1 {
    public void testDocement() {
        Document document = new Document(PageSize.A4, 50, 50, 50, 50);
        try {
            // creation of the different writers
            HtmlWriter.getInstance(document, new FileOutputStream("text1.htm"));
            PdfWriter.getInstance(document, new FileOutputStream("text.pdf"));
            XmlWriter xw = XmlWriter.getInstance(document, new FileOutputStream("text.xml"));
            
            // we add some meta information to the document
            document.addAuthor("Bruno Lowagie");
            document.addSubject("This is the result of a Test.");
            
            // we define a header and a footer
            HeaderFooter header = new HeaderFooter(new Phrase(
                "This is a header."), false);
            HeaderFooter footer = new HeaderFooter(new Phrase("This is page "),
                new Phrase("."));
            footer.setAlignment(Element.ALIGN_CENTER);
            document.setHeader(header);
            document.setFooter(footer); // we open the document for writing
            document.open();
            SimpleDateFormat sdf =new SimpleDateFormat("yyyy'年'MM'月'dd'日' kk':'mm':'ss");
            BaseFont bfChinese = BaseFont.createFont("STSong-Light", 
                                          "UniGB-UCS2-H", BaseFont.NOT_EMBEDDED);
            Font FontChinese = new Font(bfChinese, 12, Font.NORMAL);
            document.add(new Paragraph("Hello world ,当前时间 "+ sdf.format(new Date()),FontChinese));
        } catch (DocumentException de) {
            de.printStackTrace();
        } catch (IOException excp) {
            excp.printStackTrace();
        } catch (Exception excp) {
            excp.printStackTrace();
        }
        document.close();
    }
    public void parseXml(){
        com.lowagie.text.xml.XmlParser xpser = new XmlParser();
        Document doc = new Document();
        try{
            XmlWriter.getInstance(doc, new FileOutputStream("text2.xml"));
        }catch(Exception excp){
            excp.printStackTrace();
        }
        xpser.go(doc,"test.xml");
        doc.close();
        
    }    public static void main(String arg[]) {
        test1 tt = new test1();
        tt.testDocement();
//        tt.parseXml();
    }
}在运行过程中却出现下列错误:
java.lang.ArrayIndexOutOfBoundsException: 24403
at com.lowagie.text.xml.XmlWriter.encode(Unknown Source)
at com.lowagie.text.xml.XmlWriter.write(Unknown Source)
at com.lowagie.text.xml.XmlWriter.write(Unknown Source)
at com.lowagie.text.xml.XmlWriter.add(Unknown Source)
at com.lowagie.text.Document.add(Unknown Source)
at itext.test1.testDocement(test1.java:37)
at itext.test1.main(test1.java:62)
该如何解决?
谢谢