如何使用Grails用XML文件填充数据库
我正在玩Grails,现在想知道如何在计算机上用本地XML文件填充数据库。我在引导类中尝试过这个如何使用Grails用XML文件填充数据库,xml,grails,groovy,Xml,Grails,Groovy,我正在玩Grails,现在想知道如何在计算机上用本地XML文件填充数据库。我在引导类中尝试过这个 class BootStrap { def init = { servletContext -> def users= new XmlSlurper().parse(new File("C:\\Users\\users.xml")) users.user.each() { p -&g
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在
功能集设置为
对
如何解决此问题?您的XML有一个slurper不喜欢的doctype,您可以从XML文档中删除该doctype,或者禁用“创建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(...
一旦您克服了这个障碍,您可能会遇到其他问题,例如您的用户定义是小写的,并且构造函数中有一个尾随逗号。除非这是一个复制粘贴错误:您应该使用大写类名,例如user而不是user-这甚至可能导致groovy中的解析错误,而不是这一个。为什么products.xml会出现此错误?如果要将问题改写为最小的失败案例,请确保错误消息等匹配。Aww,它必须是users.xml这是什么java和grails版本?