проверка документа XML в Groovy - PullRequest
0 голосов
/ 08 марта 2019

У меня есть объект xml в Groovy .. который уже был проанализирован к тому времени, когда я к нему пришел

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  )

Я не могу понять, какое преобразование или комбинацию объекта типа StreamSource мне нужно передать в то, что у меня есть (результат XmlSlurper.parse) для проверки ()

1 Ответ

0 голосов
/ 08 марта 2019

Это сработало для меня.

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))))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...