【问题标题】:how to parse XML in alexa skill javascript如何在 Alexa 技能 javascript 中解析 XML
【发布时间】:2020-05-28 22:20:05
【问题描述】:
我正在尝试解析由类型数据序列形成的 XML 字符串
<id>1233</id><status>on</status><name>name1</name><id>548</id><status>off</status><name>name2</name>....
这个字符串从 10 到 100 对象状态、id 和名称,我想返回一个字符串,如“1233 开启,548 关闭......”
但我不知道如何隔离标签。
我希望你能帮助我
【问题讨论】:
标签:
javascript
html
xml-parsing
alexa
alexa-skill
【解决方案1】:
您可以使用fast-xml-parser 来解析任何xml,这为您提供了很大的灵活性。
一旦我们解析为标准对象,就很容易循环并显示状态。
例如:
const xml = `<root>
<object>
<id>1233</id>
<status>on</status>
<name>name1</name>
</object>
<object>
<id>548</id>
<status>off</status>
<name>name2</name>
</object>
</root>`;
let options = {};
let parsedObjects = parser.parse(xml, options);
console.log("Status:");
parsedObjects.root.object.forEach(obj => console.log(`${obj.id} (${obj.name}) is ${obj.status}`));
console.log("\nParsed objects:", parsedObjects);
<script src="https://cdnjs.cloudflare.com/ajax/libs/fast-xml-parser/3.16.0/parser.js"></script>