我试图证明我的xml在nifi上格式良好。
我已经根据某个模式验证了它,但有时我没有一个模式,所以只想确认它是格式良好的。然而,所有的xml处理程序似乎都需要一个模式或类似的东西,而不仅仅是显示它是格式良好的。
有人能帮忙吗?多谢
最佳答案
要添加到kjhughes的答案(特定于nifi),如果您总是知道根标记(我们称之为“根”),那么可以将this SO post中提到的xsd与ValidateXml处理器一起使用。
如果不知道根标记,可以使用ExecuteGroovyScript将“failure strategy”属性设置为“transfer to failure”,将“script body”设置为以下脚本:
def flowFile = session.get()
if(!flowFile) return
InputStream i = flowFile.read()
new XmlSlurper().parse(i)
i.close()
REL_SUCCESS << flowFile