1

次のようなスタンザを受け取ります。

<message xmlns='jabber:client' to='1' from='2' type='chat' id='50c1d830-283c-11e8-9dcf' xmlns='jabber:client'>
  <system xmlns='urn:xmpp:type' layout='layout1' default='true' subType='alert'>
    <title>First User</title>
    <email>support@abc.com</email>
    <action_label>Contact us</action_label>
    <deeplinks>
            <deeplink>
                <label>My deals</label>
                <link>/home</link>
            </deeplink>
            <deeplink>
                <label>New deals</label>
                <link>/page</link>
            </deeplink>
        </deeplinks>
  </system>
  <body>[This is a system message]</body>
</message>

これから、タイプをシステムとして読み取り、その属性(title、email、action_label、layout、subType、default 属性など)を読み取ることができます。

const system = stanzas.define({
        name: 'system',
        element: 'system',
        topLevel: true,
        namespace: 'urn:xmpp:type',
        fields: {
            layout: stanzas.utils.attribute('layout'),
            default: stanzas.utils.attribute('default'),
            subType: stanzas.utils.attribute('subType'),
            email: stanzas.utils.textSub('urn:xmpp:type', 'email'),
            actionLabel: stanzas.utils.textSub('urn:xmpp:type', 'action_label'),
            title: stanzas.utils.textSub('urn:xmpp:type', 'title')
        }
    });
stanzas.withMessage(Message => {
    stanzas.extend(Message, system);
});

しかし、ネストされたディープリンク スタンザを読み取ることができません。そのデータを解析する方法について何か提案はありますか?

4

0 に答える 0