【问题标题】:xml parser problem in alexa using javascript使用javascript在alexa中的xml解析器问题
【发布时间】:2020-06-01 07:19:12
【问题描述】:
    var xml = require('XML-Parser-master');
        const fs = require('fs');
 var responseString = 'html string';

        var finalString="";


        var xmlDoc = new xml.DOM(xml.parse(responseString)); 

        const items =xmlDoc.document.getElementsByTagName("item");
        for (var i = 0; i < items.length ; i++) {
          const item = items[i];
          var name = (item.getElementsByTagName("name")[0]),
             status = (item.getElementsByTagName('status')[0]),
             device = (item.getElementsByTagName('device')[0]),
             probe = (item.getElementsByTagName('probe')[0]),
             message_raw = (item.getElementsByTagName('message_raw')[0]);

            finalString += "Il sensore "+name+ ", sul server "+device+ " del  "+probe+ " è nello stato"+status+". Il messaggio di errore è: "+ message_raw+". ";

        }

          });
           res.on('end', function(res)
            {
                const speechOutput = finalString;
                console.log("==> Answering: ",speechOutput); 
                mythis.emit(':tell', speechOutput);
            });

问题在于,当它应该向名称、状态、设备、探针和 message_raw 添加不同的字符串时,它会返回“[object Object]”。 示例:

il sensore [object Object], sul server [object Object] del [object Object] è nello stato[object Object]。 Il messaggio di erroreè:未定义。” }

使用的解析器是:https://github.com/MauriceConrad/XML-Parser#readme

【问题讨论】:

    标签: javascript xml xml-parsing alexa alexa-skill


    【解决方案1】:

    查看 XML Parse 模块 XML Parse npm module docs 后,您似乎只需将变量设置为对象的 text 属性即可。

    例如,

    var name = (item.getElementsByTagName("name")[0]).text;
    

    【讨论】:

    • 不,它没有用。但我用过 JSON.stringify(name);
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-05-28
    • 2012-12-26
    • 1970-01-01
    • 1970-01-01
    • 2023-03-30
    • 1970-01-01
    • 2012-03-23
    相关资源
    最近更新 更多