在 Bot Builder 中解析来自 URL 的 XML 数据

Parse XML data from URL in Bot Builder

请问如何在 Bot Builder 中解析来自 URL 的 XML 数据?

我试过 xml2js 但没有用,还有 xmlhttprequest。

这里有我的源代码

   var xmldata = "https://mvponduty.mvpondutyonmicrosoft.com/xml/data.xml";
   console.log(xmldata);
   parseString(xmldata, function (err, result) {
    // Result contains XML data in JSON format
    context.sendActivity(result.toString());
   });

谢谢。

我在我这边为你做了一些测试,你可以尝试下面的代码从 URL 获取 xml 并在 bot 中将其解析为 JSON :

this.onMessage(async (context, next) => {
            var xmlURL = 'https://andyapi2.azurewebsites.net/test/test.xml';
            let xml2js = require('xml2js');
            const axios = require('axios');
            var resp = '';
            await axios.get(xmlURL)
                .then(response => {
                    xml2js.parseString(response.data, function(_err, result) {
                        console.log(result);
                        resp = result;
                    });

                })
                .catch(error => {
                    console.log(error);
                });      
            await context.sendActivity(resp.note.body[0]);
            await next();
        });

XML 数据:

<note>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>

结果: