2012-05-10 3 views
0

jsp 서버, mysql 데이터베이스 및 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 필드를 지원하지 않습니다. 문자열로 이스케이프 처리 할 수 ​​있습니까?

PS2 : URL 링크를이 양식 (http : // localhost : 8080/examples/jsp/jsp2/loginrecord/link_error.xml)으로 변경했지만 여전히 같은 오류가 발생합니다. 나는 그것을 인쇄하고 괜찮지 만 여전히 같은 오류가 발생했습니다

답변

0

데이터베이스의 URL이 \이 이스케이프되어서는 안됩니다. 모양은 다음과 같습니다 c:\xampp\tomcat\webapps\examples\sakias.xml

또한 SQL 데이터베이스에 XML을 저장할 수 있습니다. 저장을 위해 이스케이프 처리하는 것에 대해 걱정할 필요는 없습니다 (자바에서 문자열을 구성하는 경우 이스케이프해야 할 수도 있음). 그러나 열 크기에 대해 걱정해야합니다. VARCHAR 대신 TEXT로 저장할 수도 있습니다 (String SQL 유형은 없습니다).

+0

답장을 보내 주셔서 감사합니다. 두 가지 제안을 모두 시도했지만 제대로 작동하지 않았습니다. 두 번째 제안에서는 "조기 종료 파일 오류"가 표시됩니다. – sakias

+0

@sakias MySQL이 필드에 맞지 않는 경우 데이터를자를 수 있습니다. 이로 인해 오류가 발생할 수 있습니다. 열 크기가 충분히 큰지 확인하십시오. – ykaganovich

관련 문제