parse_xml
The parse_xml processor parses XML data for an event.
Configuration
You can configure the parse_xml processor with the following options.
| Option | Required | Type | Description | 
|---|---|---|---|
| source | No | String | Specifies which eventfield to parse. | 
| destination | No | String | The destination field of the parsed XML. Defaults to the root of the event. Cannot be"",/, or any white-space-only string because these are not valideventfields. | 
| pointer | No | String | A JSON pointer to the field to be parsed. The value is null by default, meaning that the entire sourceis parsed. Thepointercan access JSON array indexes as well. If the JSON pointer is invalid, then the entiresourcedata is parsed into the outgoingeventobject. If the key that is pointed to already exists in theeventobject and thedestinationis the root, then the pointer uses the entire path of the key. | 
| parse_when | No | String | Specifies under what conditions the processor should perform parsing. Default is no condition. Accepts a Data Prepper expression string following the Data Prepper Expression Syntax. | 
| overwrite_if_destination_exists | No | Boolean | Overwrites the destination if set to true. Set tofalseto prevent changing a destination value that exists. Defaults totrue. | 
| delete_source | No | Boolean | If set to truethen this will delete the source field. Defaults tofalse. | 
| tags_on_failure | No | String | A list of strings specifying the tags to be set in the event that the processor fails or an unknown exception occurs during parsing. | 
Usage
The following examples show how to use the parse_xml processor in your pipeline.
Example: Minimum configuration
The following example shows the minimum configuration for the parse_xml processor:
parse-xml-pipeline:
  source:
    stdin:
  processor:
    - parse_xml:
        source: "my_xml"
  sink:
    - stdout:
When the input event contains the following data:
{ "my_xml": "<Person><name>John Doe</name><age>30</age></Person>" }
The processor parses the event into the following output:
{ "name": "John Doe", "age": "30" }