如何在ApacheNIFI中转换XML
在NiFi中,我有一个处理器ExecuteSQL,它返回以下内容如何在ApacheNIFI中转换XML,xml,xslt,xml-parsing,apache-nifi,xslt-grouping,Xml,Xslt,Xml Parsing,Apache Nifi,Xslt Grouping,在NiFi中,我有一个处理器ExecuteSQL,它返回以下内容 person_id| name | adress 01 | John | Street 01 01 | John | Street 02 02 | Deby | Street 01 请注意,Adress与Person是不同的表,因此左联接最终会复制值 在Nifi中,我将AVro转换为Json,然后转换为XML,结果如下: <person> <person_id>
person_id| name | adress
01 | John | Street 01
01 | John | Street 02
02 | Deby | Street 01
请注意,Adress与Person是不同的表,因此左联接最终会复制值
在Nifi中,我将AVro转换为Json,然后转换为XML,结果如下:
<person>
<person_id>01</person_id>
<name>John</name>
<address>Street 01</address>
</person>
<person>
<person_id>01</person_id>
<name>John</name>
<address>Street 02</address>
</person>
<person>
<person_id>02</person_id>
<name>Deby</name>
<address>Street 01</address>
</person>
01
约翰
01街
01
约翰
02街
02
黛比
01街
然而,我期望的结果是:
<person>
<person_id>01</person_id>
<name>John</name>
<addresses>
<address>Street 01</address>
<address>Street 02</address>
</addresses>
</person>
<person>
<person_id>02</person_id>
<name>Deby</name>
<addresses>
<address>Street 01</address>
</addresses>
</person>
01
约翰
01街
02街
02
黛比
01街
可以在Nifi中进行吗?我似乎找不到任何合适的处理器,我应该使用XSLT(与转换XML处理器一起使用)吗?写我自己的处理器?我该怎么做
我是NiFi的新手,如有任何帮助,我将不胜感激。您可以采取以下几种方法:
非常感谢你的回答。我看过你们关于定制处理器的幻灯片,我有一个问题,我可以在定制处理器项目中添加外部lib(比如Jolt lib/jar)吗?可以。只需将它声明为自定义处理器包中的Maven依赖项,就像对任何其他项目一样。在xml上还可以使用
JoltTransferMRecord