如何使用Grails用XML文件填充数据库

时间:2017-07-11 06:51:58

标签: xml grails groovy

我正在玩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”设置为   真。

如何解决?

1 个答案:

答案 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(...

一旦你克服了这个障碍,你可能会遇到其他问题,例如你的用户定义是小写的,并且你在构造函数中有一个尾随逗号。