证明XML在Nifi上形成良好

问题描述 投票:2回答:2

我试图证明我的XML在Nifi上形成良好。

我已经针对某些模式对其进行了验证,但有时我没有模式,所以希望确认它已经很好地形成了。但是,所有的XML处理器似乎都需要一个架构等,并且不仅仅表明它的格式正确。

有人可以提供一些帮助吗?非常感谢

xml apache-nifi well-formed
2个回答
6
投票

要添加到kjhughes的答案(特定于NiFi),如果你总是知道根标签(让我们称之为“root”),你可以使用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

0
投票

只需尝试使用任何一致的XML解析器解析它。

如果它parses successfully,即没有致命错误,那么它是well-formed

良好的约束

[定义:适用于所有well-formed XML文档的规则。违反良好形成的限制是fatal errors。]

© www.soinside.com 2019 - 2024. All rights reserved.