2
def validateXml(xml){
String xsd = "src/main/ressources/fulltext-documents-v1.2.3.xsd"
def factory = SchemaFactory.newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI)
def schema = factory.newSchema(new StreamSource(new File(xsd)))
def validator = schema.newValidator()
validator.validate(new StreamSource(new StringReader(xml)))
}
这是我的函数,用于验证xml文档的字符串表示形式。 下面,捕捉,可以通过验证根据XSD模式验证XML并使用groovy捕获验证器期望
def xmlVerification(xml) {
Node rootNode = new XmlParser().parseText(xml)
def stringXml = XmlUtil.serialize(rootNode)
try{
validateXml(stringXml)
println "no error in text"
}catch(SAXParseException e){
println "column number "+e.getColumnNumber()
println "line number"+e.getLineNumber()
}
}
提高的例外情况的其他功能,现在它只是显示了异常发生栏和行号(目前对我来说足够好)。
现在,让我们假设我有一个至少有2个错误的文档。我希望得到这两个错误(例如在一张表中),然后对待它们。 随着我的代码,它停止在第一个异常提出,所以我不能处理2错误。我必须纠正第一个错误,以纠正第二个错误(通过重新运行我的代码第二次)。
任何想法如何我可以通过整个文档,库存所有的异常,并在.each {}循环或类似的东西?
希望它已经足够清晰
在此先感谢!
真棒!并学习了一些新功能(我将要搜索它现在的功能)非常感谢! – kanadianDri3 2013-03-27 10:22:27
@ kanadianDri3对任何代码有任何疑问,请随时在此发表评论! :-) – 2013-03-27 10:24:08
好吧,那么......我的问题涉及'Closure handler = {exception - > exceptions << exception}'这一行。什么是和如何使用'Closure '?在大括号里面,' - >'符号是什么意思? –
kanadianDri3
2013-03-27 10:47:22