首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > XML SOAP >

JAVA解释XML时setValidating替true的时候报错

2013-01-09 
JAVA解释XML时setValidating为true的时候报错本帖最后由 Jason20Ming 于 2010-08-09 22:30:50 编辑情况如

JAVA解释XML时setValidating为true的时候报错
本帖最后由 Jason20Ming 于 2010-08-09 22:30:50 编辑 情况如下:

在/src目录下有一个access-rules.xml文件及其对应的schema文件access-rules.xsd

xml头部描述如下:

<?xml version="1.0" encoding="UTF-8"?>
<lms:access-rules xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://qnear.com/access-rules" xmlns:lms="http://qnear.com/access-rules"
xsi:schemaLocation="http://qnear.com/access-rules access-rules.xsd ">


在Eclipse中,能通过编辑器的校验,没有红叉。但是使用Java的解释器去读取的时,如果将DocumentBuilder的setValidating(true)的话,就会有如下的错误提示,如果让其默认不校验的话就不会有任何错误。

Error: URI=null Line=4: Document root element "lms:access-rules", must match DOCTYPE root "null".
Error: URI=null Line=4: Document is invalid: no grammar found.


但是我明明配置了schema已经命名空间的了,为何还提示“no grammar found”呢?
[解决办法]
access-rules.xsd 是否有放在你应用程序的文件夹下呢?
估计还是相对路径的问题,还不然你直接用绝对路径。

热点排行