You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@nifi.apache.org by "Samkit Jain Ksolves Nifi Expertise (Jira)" <ji...@apache.org> on 2025/07/24 17:43:00 UTC
[jira] [Assigned] (NIFI-14780) XMLReader writes null value if "Field Name for Content" is not set
[ https://issues.apache.org/jira/browse/NIFI-14780?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Samkit Jain Ksolves Nifi Expertise reassigned NIFI-14780:
---------------------------------------------------------
Assignee: Samkit Jain Ksolves Nifi Expertise
> XMLReader writes null value if "Field Name for Content" is not set
> ------------------------------------------------------------------
>
> Key: NIFI-14780
> URL: https://issues.apache.org/jira/browse/NIFI-14780
> Project: Apache NiFi
> Issue Type: Bug
> Reporter: Gábor Gyimesi
> Assignee: Samkit Jain Ksolves Nifi Expertise
> Priority: Minor
>
> In the XMLReader controller service if the 'Parse XML Attributes' is set to true then XML node attributes are written as record fields. In this case the content and the attributes are defined together as a record. In such a case, the name of the tag will be used as the name for the record and the value of this property will be used as the name for the field holding the original content. The 'Field Name for Content' property is used in this case to define the field name for the content in the record. For example if this attribute is set to 'tagValue' this will be the result using the XMLReader and the JsonRecordSetWriter:
> Input:
> <note>
> <to alias="TK">Kyle</to>
> <from>Stan</from>
> <heading>Reminder</heading>
> <body>Don't forget me this weekend!</body>
> </note>
> Output:
> [\{"to":{"alias":"TK","tagValue":"Kyle"},"from":"Stan","heading":"Reminder","body":"Don't forget me this weekend!"}]
> However when the 'Field Name for Content' is not set the content is meant to be ignored and not written, resulting in the following debug message:
> "Found content for a field that was supposed to be named with the value of the "Field Name for Content" property but the property was not set. The content was not added to the record."
> This seems to be inconsistent with the result seen in the flow file, because when the 'Field Name for Content' is empty a default "value" field is created without any value:
> [\{"to":{"alias":"TK","value":null},"from":"Stan","heading":"Reminder","body":"Don't forget me this weekend!"}]
> I think this is inconsistent, we should either create a default "value" record field with the XML tag content if the "Field Name for Content" property is empty or we should not create any default "value" record fields at all.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)