NIFI XML 到 JSON 空值
NIFI XML to JSON Null values
我正在尝试 运行 一个非常简单的转换流程,该流程采用输入 XML 文档并使用 Avro 架构将其转换为 json。
我一定是做错了什么,因为我总是得到空值,即使是像这样简单的事情:
<key1>value1</key1>
输出为:
[{"key1":null}]
我在这里逐行学习了本教程:https://pierrevillard.com/2018/06/28/nifi-1-7-xml-reader-writer-and-forkrecord-processor/
我的 AVRO 架构定义为:
{
"type" : "record",
"name" : "MyClass",
"namespace" : "com.test.avro",
"fields" : [ {
"name" : "key1",
"type" : "string"
} ]
}
我错过了什么?我能看到的唯一区别是我的 xml 与示例的结构略有不同。在示例中,XML 似乎具有以下结构:
<key1 value="value1"/>
但即使尝试将我的输入更改为该结果也会导致相同的空值。
我看到了关于这个问题的其他帖子,但没有真正的解决方案。即使是那些关于不正确的 XML 结构的线程的一些评论,我已经更改为它仍然无法正常工作。我敢肯定这很简单,我们将不胜感激。
我是 NIFI 的新手,但真的很喜欢这个工具的潜力!
事实证明,NIFI 组件 ConvertRecord 期望 XML 数据不在根级别,而是定义为从 XML 文档的第二级开始。
所以我定义的 AVRO 架构是正确的,我只需要将我的输入 XML 数据包装在根标记中,如下所示:
<root><key1>value1</key1></root>
我正在尝试 运行 一个非常简单的转换流程,该流程采用输入 XML 文档并使用 Avro 架构将其转换为 json。
我一定是做错了什么,因为我总是得到空值,即使是像这样简单的事情:
<key1>value1</key1>
输出为:
[{"key1":null}]
我在这里逐行学习了本教程:https://pierrevillard.com/2018/06/28/nifi-1-7-xml-reader-writer-and-forkrecord-processor/
我的 AVRO 架构定义为:
{
"type" : "record",
"name" : "MyClass",
"namespace" : "com.test.avro",
"fields" : [ {
"name" : "key1",
"type" : "string"
} ]
}
我错过了什么?我能看到的唯一区别是我的 xml 与示例的结构略有不同。在示例中,XML 似乎具有以下结构:
<key1 value="value1"/>
但即使尝试将我的输入更改为该结果也会导致相同的空值。
我看到了关于这个问题的其他帖子,但没有真正的解决方案。即使是那些关于不正确的 XML 结构的线程的一些评论,我已经更改为它仍然无法正常工作。我敢肯定这很简单,我们将不胜感激。
我是 NIFI 的新手,但真的很喜欢这个工具的潜力!
事实证明,NIFI 组件 ConvertRecord 期望 XML 数据不在根级别,而是定义为从 XML 文档的第二级开始。
所以我定义的 AVRO 架构是正确的,我只需要将我的输入 XML 数据包装在根标记中,如下所示:
<root><key1>value1</key1></root>