0

私はjspサーバー、mysqlデータベース、およびxsl変換を扱っています。xslt で変換するために、xml ファイルからのリンクが PC に保存されています。

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

問題は、mysql データベースへの列に URL リンク ( c:\\xampp\\tomcat\\webapps\\examples\\sakias.xml) を保存してからフェッチすると、次のエラーが発生することです。

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

エンコーディングに問題はありますか;エスケープ文字; 本当に奇妙です。

PS1: xml を sql データベースに直接保存する別の解決策はありますか?私のバージョンは xml フィールドをサポートしていません。文字列としてエスケープして保存できますか?

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

4

1 に答える 1

0

データベース内の URL に\エスケープを含めないでください。次のように見えるはずですc:\xampp\tomcat\webapps\examples\sakias.xml

また、はい、XML を SQL データベースに格納できます。ストレージのためにエスケープすることを心配する必要はありません (Java で文字列を構築している場合は、エスケープする必要があるかもしれません) が、列のサイズについて心配する必要があります。VARCHAR の代わりに TEXT として保存することもできます (String SQL 型などはありません)。

于 2012-05-10T23:29:21.540 に答える