2012-05-10 17 views
0

私はjsp server、mysql database、およびxsl変換を処理しています。私は私のPCに格納されたXMLファイルからのリンクを持っているようxslt.Ifでそれを翻訳するために、私はこれを行うと、すべてが正常である:mysqlデータベースからXMLファイルを解析中にエラーが発生しました。

String url="c:\\xampp\\tomcat\\webapps\\examples\\sakias.xml"; 
Document doc = builder.parse(new File(url)); and so on as usual... 

の問題は、私は、URLリンク(c:\\xampp\\tomcat\\webapps\\examples\\sakias.xml)中に保存する場合mysqlデータベースの列を取得してから、次のエラーが表示されます。

org.xml.sax.SAXParseException; systemId: file:///c:/xampp/; lineNumber: 1; columnNumber: 1; Content is not allowed in prolog 

エンコードに問題はありますか?それは本当に奇妙です。

PS1:xmlをSQLデータベースに直接格納する別のソリューションがありますか;私のバージョンではxml fieldはサポートされていません。

PS2:このフォーム(http:// localhost:8080/examples/jsp/jsp2/loginrecord/link_error.xml)にURLリンクを変更しましたが、それと同じエラーです。私はそれを印刷し、それでも問題はないが同じエラーです

答えて

0

あなたのURLは\をエスケープしないでください。それはのようになりますc:\xampp\tomcat\webapps\examples\sakias.xml

また、はい、SQLデータベースにXMLを格納することができます。格納のためにエスケープすることについて心配する必要はありません(Javaで文字列を作成する場合はエスケープする必要があります)が、カラムのサイズについては心配する必要があります。 VARCHARではなくTEXTとして格納することもできます(String SQL型はありません)。

+0

あなたのお返事ありがとうございます。私は両方の提案を試みましたが、うまくいきませんでした。 2番目の提案では、私は "ファイルエラーの時期尚早終了"を取得します。 – sakias

+0

@sakias MySQLは、フィールドに収まらない場合、データを切り捨てることができます。列のサイズが十分大きいことを確認します。 – ykaganovich

関連する問題