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>