如何在NIFI拆分XML后更改FlowFile名称为XML行标记?



我使用SplitXML-Processor将一个大XML文件分成237个小文件。作为基础,我使用根的子节点。

现在我想给每个结果文件相应的XML行标记作为filename。

例如,下面的结构导致文件名为Package,Billing,Policy等…

root
|-- Package: array (nullable = true)
|    |-- element: struct (containsNull = true)
|    |    |-- package12: array (nullable = true)
|    |    |    |-- element: struct (containsNull = true)
|    |    |    |    |-- Type: string (nullable = true)
|    |    |-- Addr: struct (nullable = true)
|    |    |    |-- Addr1: string (nullable = true)
|    |    |    |-- Addr2: string (nullable = true)
|-- Billing: struct (nullable = true)
|    |-- PhlyRepresentativeEmail: string (nullable = true)
|-- Policy: struct (nullable = true)
|    |-- PolicyName: string (nullable = true)

可以拉出"新根";通过将每个FlowFile引导到ExtractText处理器。然后使用RegEx提取相应的标记并将其存储到特定的变量中。

看到https://nifi.apache.org/docs/nifi-docs/components/org.apache.nifi/nifi-standard-nar/1.12.1/org.apache.nifi.processors.standard.ExtractText/查看更多

最新更新