0

我正在使用 jsp 服务器、mysql 数据库和 xsl 转换。我有一个来自存储到我的电脑的 xml 文件的链接,以便用 xslt 翻译它。如果我这样做并且一切都很好:

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字段。我可以将它存储为字符串吗?

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 中构造字符串,则可能需要对其进行转义),但您应该担心列大小。您可以选择将其存储为 TEXT 而不是 VARCHAR(没有 String SQL 类型之类的东西)。

于 2012-05-10T23:29:21.540 回答