解码 XML
编辑解码 XML
编辑decode_xml
处理器解码存储在 field
键下的 XML 数据。它将结果输出到 target_field
。
示例
编辑此示例演示如何解码包含在 message
字段中的 XML 字符串,并将生成的字段写入文档的根目录。任何已存在的字段都将被覆盖。
- decode_xml: field: message target_field: "" overwrite_keys: true
默认情况下,任何发生的解码错误都将停止处理链,并将错误添加到 error.message
字段。要忽略所有错误并继续到下一个处理器,请设置 ignore_failure: true
。要专门忽略由 field
不存在引起的故障,请设置 ignore_missing: true
。
- decode_xml: field: example target_field: xml ignore_missing: true ignore_failure: true
默认情况下,所有从 XML 转换的键的名称都将转换为小写。要禁用此行为,请设置 to_lower: false
,例如
- decode_xml: field: message target_field: xml to_lower: false
示例 XML 输入
<catalog> <book seq="1"> <author>William H. Gaddis</author> <title>The Recognitions</title> <review>One of the great seminal American novels of the 20th century.</review> </book> </catalog>
将产生以下输出
{ "xml": { "catalog": { "book": { "author": "William H. Gaddis", "review": "One of the great seminal American novels of the 20th century.", "seq": "1", "title": "The Recognitions" } } } }
配置设置
编辑Elastic Agent 处理器在摄取管道之前执行,这意味着您的处理器配置不能引用由摄取管道或 Logstash 创建的字段。有关更多限制,请参阅 使用处理器的局限性有哪些?
名称 | 必填 | 默认值 | 描述 |
---|---|---|---|
|
是 |
|
包含 XML 的源字段。 |
|
否 |
将在其下写入解码 XML 的字段。默认情况下,解码的 XML 对象将替换读取它的字段。要将解码的 XML 字段合并到事件的根目录,请使用空字符串指定 |
|
|
否 |
|
是否用解码的 XML 对象中的键覆盖事件中已存在的键。 |
|
否 |
|
是否将所有键转换为小写。 |
|
否 |
用作文档 ID 的 XML 键。如果已配置,则该字段将从原始 XML 文档中删除并存储在 |
|
|
否 |
|
如果指定的字段不存在,是否返回错误。 |
|
否 |
|
是否忽略处理器产生的所有错误。 |
有关支持的条件列表,请参阅 条件。