0

com.lowagie.text.xml.SAXiTextHandlerを使用して、iText(v-2.1.7)を使用してXMLをPDFに変換しています。タグを正しく使用していることがわかりますが、以下のエラーが発生します。形成されたXMLが有効であり、エラーなしでブラウザーで表示できることを確認しました。parser.parse(....)を実行しようとすると、コードが失敗します。タグの書き方を確認しましたが、見た目は問題ありません。基本的に、セルタグを含む行タグを含むテーブルタグを追加しました。セルタグには、その中に単一の段落タグがあります(または)段落と段落内にチャンクタグがある場合があります。この問題が発生する場所に到達する方法はありますか?

* XMLからすべての段落タグを削除して、再試行しました。同じエラーが返されます-使用される新しいXMLは次のとおりです-http: //pastebin.com/hmyPcGDw*

*この単純なxmlファイルでも同じ例外が生成されています-http: //pastebin.com/89U9vybt*

私には、com.lowagie.text.xml.SAXiTextHandlerの問題のように見えます。何か助けはありますか?

java.lang.ClassCastException: com.lowagie.text.Paragraph cannot be cast to com.lowagie.text.Table
        at com.lowagie.text.xml.SAXiTextHandler.handleEndingTags(Unknown Source)
        at com.lowagie.text.xml.SAXiTextHandler.endElement(Unknown Source)
        at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.endElement(AbstractSAXParser.java:606)
        at com.sun.org.apache.xerces.internal.impl.dtd.XMLDTDValidator.endNamespaceScope(XMLDTDValidator.java:2054)
        at com.sun.org.apache.xerces.internal.impl.dtd.XMLDTDValidator.handleEndElement(XMLDTDValidator.java:2005)
        at com.sun.org.apache.xerces.internal.impl.dtd.XMLDTDValidator.endElement(XMLDTDValidator.java:879)
        at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanEndElement(XMLDocumentFragmentScannerImpl.java:1741)
        at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2898)
        at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:607)
        at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:488)
        at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:835)
        at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:764)
        at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:123)
        at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1210)
        at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:568)
        at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl.parse(SAXParserImpl.java:302)
        at javax.xml.parsers.SAXParser.parse(SAXParser.java:195)
4

1 に答える 1

1

これは、xmlタグの前後に空白があるためです(より正確には、タグの後の空白<table>)。私はあなたの例で試しましたが、同じ例外がありました。xmlコードのコピー/貼り付けをEclipse(またはメモ帳++)に作成し、フォーマットして(不要な空白をすべて削除します)、再試行して問題を解決しました!PDFはうまく生成されます!

于 2012-07-19T14:43:08.980 に答える