如何在 alexa 技能 javascript 中解析 XML
how to parse XML in alexa skill javascript
我正在尝试解析由
类型的数据序列形成的 XML 字符串
<id>1233</id><status>on</status><name>name1</name><id>548</id><status>off</status><name>name2</name>....
这个字符串从 10 到 100 对象状态、ID 和名称,我想 return 一个像“1233 打开,548 关闭...”这样的字符串
但我不知道如何隔离标签。
希望你能帮帮我
您可以使用 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>
您可能有兴趣尝试 txml。它是一个非常小的 xml 解析器,旨在 运行 无处不在。代码非常干净而且速度非常快:https://www.npmjs.com/package/txml
我正在尝试解析由
类型的数据序列形成的 XML 字符串<id>1233</id><status>on</status><name>name1</name><id>548</id><status>off</status><name>name2</name>....
这个字符串从 10 到 100 对象状态、ID 和名称,我想 return 一个像“1233 打开,548 关闭...”这样的字符串 但我不知道如何隔离标签。 希望你能帮帮我
您可以使用 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>
您可能有兴趣尝试 txml。它是一个非常小的 xml 解析器,旨在 运行 无处不在。代码非常干净而且速度非常快:https://www.npmjs.com/package/txml