wechat-xml-parser
v0.0.2
Published
wechat xml parser
Downloads
7
Maintainers
Readme
微信推送消息解析
用法
var app = require('express')();
var xmlParser = require('wechat-xml-parser');
app.use(xmlParser(options));
xml:
<xml>
<ToUserName><![CDATA[gh_956b2584a111]]></ToUserName>
<FromUserName><![CDATA[ovKXbsxcjA05QLUcShoQkAMfkECE]]></FromUserName>
<CreateTime>1452142781</CreateTime>
<MsgType><![CDATA[event]]></MsgType>
<Event><![CDATA[ShakearoundUserShake]]></Event>
<ChosenBeacon>
<Uuid><![CDATA[121212121212]]></Uuid>
<Major>1111</Major>
<Minor>1111</Minor>
<Distance>0.057</Distance>
</ChosenBeacon>
<AroundBeacons>
<AroundBeacon>
<Uuid><![CDATA[121212121212]]></Uuid>
<Major>2222</Major>
<Minor>2222</Minor>
<Distance>166.816</Distance>
</AroundBeacon>
<AroundBeacon>
<Uuid><![CDATA[121212121212]]></Uuid>
<Major>3333</Major>
<Minor>3333</Minor>
<Distance>15.013</Distance>
</AroundBeacon>
</AroundBeacons>
</xml>
result:
{
"ToUserName": "gh_956b2584a111",
"FromUserName": "ovKXbsxcjA05QLUcShoQkAMfkECE",
"CreateTime": "1452142918",
"MsgType": "event",
"Event": "ShakearoundUserShake",
"ChosenBeacon": {
"Uuid": "121212121212",
"Major": "1111",
"Minor": "1111",
"Distance": "0.057"
},
"AroundBeacons": {
"AroundBeacon": [
{
"Uuid": "121212121212",
"Major": "2222",
"Minor": "2222",
"Distance": "166.816"
},
{
"Uuid": "121212121212",
"Major": "3333",
"Minor": "3333",
"Distance": "15.013"
}
]
}
}
options:
dataProp:
xml 解析后的结果数据挂在到 req 对象上的属性名称,默认是 body
attrFormat:
数据格式化 例:{AppId:'123'} -> {app_id: '123'}
* keep 保持不变 {AppId: '123'} -> {AppId: '123'}
* lowerCase 转小写 {AppId: '123'} -> {appid: '123'}
* underscored 转小写并以下划线间隔 {AppId: '123'} -> {app_id: '123'}
* 也可是一个函数 function(attr){ return attr.toLowerCase(); }
* 默认为 keep
types:
数据流的 Content-Type ,未匹配上则不处理 默认为 ['text/xml', 'application/xml', 'application/*+xml']
- 也可以传入一个字符串 如
application/xml
token:
公众号 tokenappid:
公众号 appidencrypt_key:
公众号加密 key
- 若需要解密 xml 数据,则需要配置以上 3 个参数