parse_xml
The parse_xml
处理器解析事件的 XML 数据。
配置
您可以使用以下选项配置 parse_xml
处理器。
选项 | 必需 | 类型 | 描述 |
---|---|---|---|
源 | 否 | 字符串 | 指定要解析的 event 字段。 |
目标 | 否 | 字符串 | 解析后的 XML 的目标字段。默认为 event 的根。不能是 "" 、/ 或任何只包含空白字符的字符串,因为它们不是有效的 event 字段。 |
指针 | 否 | 字符串 | 指向要解析的字段的 JSON 指针。默认值为 null,表示解析整个 source 。pointer 也可以访问 JSON 数组索引。如果 JSON 指针无效,则整个 source 数据将解析到传出 event 对象中。如果指向的键在 event 对象中已存在且 destination 是根,则指针将使用该键的完整路径。 |
解析条件 | 否 | 字符串 | 指定处理器应在何种条件下执行解析。默认情况下无条件。接受遵循表达式语法 的 OpenSearch Data Prepper 表达式字符串。 |
如果目标存在则覆盖 | 否 | 布尔型 | 如果设置为 true ,则覆盖目标。设置为 false 以防止更改已存在的目标值。默认为 true 。 |
删除源 | 否 | 布尔型 | 如果设置为 true ,则将删除源字段。默认为 false 。 |
失败时添加标签 | 否 | 字符串 | 一个字符串列表,指定在处理器失败或解析期间发生未知异常时要在事件中设置的标签。 |
用法
以下示例展示了如何在管道中使用 parse_xml
处理器。
示例:最小配置
以下示例展示了 parse_xml
处理器的最小配置。
parse-xml-pipeline:
source:
stdin:
processor:
- parse_xml:
source: "my_xml"
sink:
- stdout:
当输入事件包含以下数据时
{ "my_xml": "<Person><name>John Doe</name><age>30</age></Person>" }
处理器将事件解析为以下输出:
{ "name": "John Doe", "age": "30" }