Skip to content

[xml]Transformer

Sun Jianbo edited this page Mar 20, 2018 · 1 revision

作用

该transformer可以解析xml格式数据。

作用时间

在Parser后使用,针对key指定的xml数据字段进行解析,解析成 Go的map[string]interface{}类型赋予指定的字段。

配置

{
  "type":"xml",
  "key":"myOldKey",
  "new":"myNewKey",
}

配置说明

  • key指定要解析的xml数据所在的字段,支持多级嵌套,多级间用*.* 符号连接,表示data["abc"]["xyz"] 中的数据。
  • new指定要解析xml数据字段的新字段,必须指定新字段。

完整配置示例

{
    "name":"test2.csv",
    "reader":{
        "log_path":"./tests/logdir",
        "mode":"dir"
    },
    "parser":{
        "name":"jsonps",
        "type":"json"
    },
    "transforms":[{
        "type":"xml",
        "key":"myOldKey",
        "new":"myNewKey"
    }],
    "senders":[{
        "name":"file_sender",
        "sender_type":"file",
        "file_send_path":"./test2/test2_csv_file.txt"
    }]
}

数据变换示例

例如, parser 解析后的数据为:

{ 
   "key1": "value1", 
  "xml": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
<note>
  <to>Tove</to>
  <from>Jani</from>
  <heading>Reminder</heading>
  <body>Don't forget me this weekend!</body>
</note>"
}

经过json变换后的数据将变为:

{
	"key1": "value1",
	"xml":{
	    "note": {
	    "heading": "Reminder",
	    "body":    "Don't forget me this weekend!",
	    "to":      "Tove",
	    "from":    "Jani",
	    },
	},
},
Clone this wiki locally