验证Groovy中的xml文档

时间:2019-03-08 16:16:56

标签: xml groovy xsd

我在Groovy中有一个xml对象。当我到达它时,它已经被解析了

def doc = new XmlSlurper().parse('sample.xml')

我想针对XSD进行验证

但是在示例代码中,涉及到以字符串或文件形式显示的xml

def xsdLocation = 'defn.xsd'
SchemaFactory.newInstance( XMLConstants.W3C_XML_SCHEMA_NS_URI)
   .newSchema( new File(xsdLocation))
   .newValidator()
   .validate(  doc  )

我无法弄清楚我需要传递什么(Streams类型对象的转换或组合)(XmlSlurper.parse的结果)来验证()

1 个答案:

答案 0 :(得分:0)

这对我有用。

import groovy.xml.XmlUtil

def doc = new XmlSlurper().parse('sample.xml') 

def xsdLocation = 'defn.xsd'

SchemaFactory.newInstance( XMLConstants.W3C_XML_SCHEMA_NS_URI)
   .newSchema( new File(xsdLocation))
   .newValidator()
   .validate(new StreamSource(new StringReader( XmlUtil.serialize(doc))))