我正在尝试使用apache nifi中的转换记录处理器将一些xml转换为json格式。
这是xml示例文件:
<objects>
<object operation="add" name="test" id="4">
<attribute name="friendlyname" datatype="STRING">I am a friendly name</attribute>
</object>
</objects>
要实现此目的,我尝试使用以下json avro模式(已将其添加到转换记录处理器的控制器中):
{
"type" : "record",
"name" : "objects",
"namespace" : "object",
"fields" : [ {
"name" : "name", "type" : "string"
}, {
"name" : "id", "type" : "string"
},
{
"name" : "attribute",
"type" : {
"type" : "array",
"items" : {
"type" : "record",
"name" : "attribute",
"namespace" : "attribute.object",
"fields" : [ {
"name" : "name",
"type": "string"
}]
}
}
}
]
}
运行此命令时,当前输出以下json:
[ {
"name" : "test",
"id" : "4",
"attribute" : [ {
"name" : "friendlyname"
}
} ]
我不知道如何从xml中的“属性”标签获取实际值。所以我在输出json中想要的是“ name”:“ friendlyname”以及在这种情况下应为'I is a friendly name'的值。我只是想知道使用模式是否真的可以做到这一点,以及这是我将如何去做呢?
任何帮助将不胜感激! :)