Возможен ли синтаксический анализ Groovy xml с проверкой xsd?

#xml #groovy #xsd

#xml #groovy #xsd

Вопрос:

Можно ли проверить xml на соответствие xsd с помощью Groovy xmlslurper или xmlparser? XML, который у меня есть, представляет собой простую строку.

Ответ №1:

Не с XmlSlurper помощью или XmlParser это не так, но вы все равно можете вызвать стандартный Java-способ из Groovy:

Код адаптирован и вставлен сюда по этой ссылке:

 import javax.xml.XMLConstants
import javax.xml.transform.stream.StreamSource
import javax.xml.validation.SchemaFactory

String xmlString = ''' ... your xml ... '''
String xsdString = ''' ... your xsd ... '''

def factory = SchemaFactory.newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI)
def schema = factory.newSchema(new StreamSource(new StringReader(xsdString)))
def validator = schema.newValidator()
validator.validate(new StreamSource(new StringReader(xmlString)))