Skip to content

Commit

Permalink
Add parse XML docs
Browse files Browse the repository at this point in the history
Signed-off-by: Liz Snyder <31932630+lizsnyder@users.noreply.github.com>
  • Loading branch information
lizsnyder committed Apr 1, 2024
1 parent 301ca68 commit 6f549c3
Showing 1 changed file with 54 additions and 0 deletions.
54 changes: 54 additions & 0 deletions _data-prepper/pipelines/configuration/processors/parse-xml.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
---
layout: default
title: parse_xml
parent: Processors
grand_parent: Pipelines
nav_order: 83
---

# 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 | The field in the `event` that is parsed. Default value is `message`. |
| `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 valid `event` fields. |
| `pointer` | No | String | A JSON pointer to the field to be parsed. There is no `pointer` by default, meaning that the entire `source` is parsed. The `pointer` can access JSON array indexes as well. If the JSON pointer is invalid, then the entire `source` data is parsed into the outgoing `event`. If the key that is pointed to already exists in the `event` and the `destination` is the root, then the pointer uses the entire path of the key. |
| `tags_on_failure` | No | String | A list of strings that specify the tags to be set in the event that the processors fails or an unknown exception occurs while 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:

```yaml
parse-xml-pipeline:
source:
stdin:
processor:
- parse_xml:
source: "my_xml"
sink:
- stdout:
```
{% include copy.html %}
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" }
```

0 comments on commit 6f549c3

Please sign in to comment.