我正在玩Grails,现在想知道如何用计算机上的本地XML文件填充我的数据库。我在BootStrap类
中尝试过这个class BootStrap {
def init = { servletContext ->
def users= new XmlSlurper().parse(new File("C:\\Users\\users.xml"))
users.user.each()
{
p -> new user(userid: p.@userid, name: p.@username, email: p.@email,)
}
}
def destroy = {
}
}
但我收到的错误是:
[致命错误] users.xml:2:10:当不允许使用DOCTYPE时 功能“http://apache.org/xml/features/disallow-doctype-decl”设置为 真。
如何解决?
答案 0 :(得分:1)
您的XML有一个slurper不喜欢的文档类型,您可以将其从XML文档中删除,或者禁用检查创建您的slurper,如下所示:
XmlSlurper xmlSlurper = new XmlSlurper()
xmlSlurper.setFeature( "http://apache.org/xml/features/disallow-doctype-decl", false )
xmlSlurper.setFeature( "http://apache.org/xml/features/nonvalidating/load-external-dtd", false )
xmlSlurper.parse(...
一旦你克服了这个障碍,你可能会遇到其他问题,例如你的用户定义是小写的,并且你在构造函数中有一个尾随逗号。