1

我正在为我的 Pebble 编写一个小型应用程序。目的是将 Web 服务发送到服务器,然后处理 XML 响应。这里的问题是 Pebble.JS 不支持 XML 响应,只支持文本或 JSON 响应。我正在寻找一种将响应转换为 JSON 以轻松利用信息的方法。我找不到 Pebble.JS 的工作方式来实现这一点。

有谁知道如何在 Pebble.JS 中以 JSON 格式获取 XML 的属性和子元素(及其属性)?

谢谢!

4

2 回答 2

1

您可以使用像这样的 Node XML Parser ( https://github.com/Leonidas-from-XIV/node-xml2js ) 并使其与 Browserify 的“浏览器”兼容 ( https://github.com/substack /节点浏览器)。

Browserify用法:browserify raw-app.js -o compiled-app.js

我认为您也需要安装 nodejs,但这不是大问题。

这里有一些即时编写的代码:

   var xml2js = require('xml2js');

   var xml = "<root>This is a root object!<child>This a child</child></root>"

   xml2js.parseString(xml, function (error, result) {
       console.log(result); // JSObject
   });
于 2014-11-30T10:55:21.277 回答
0

问题是 jQuery Mobile 不支持以 XML 形式传入的响应。我以前很烦人地遇到过这个问题。我解决它的方法是通过以下方式使用预期的响应标签创建我自己的 JSON 对象:

var IDs = message.match(/<id>(.*?)<\/id>/g);
var tempID = IDs[0].replace('<id>','').replace('</id>','');

这只是我正在为此工作的实际项目的一部分。它将需要根据您的需要进行一些修改,以使其达到您想要的效果。.match()在创建 JSON 对象时,您可能希望将第二行与调用中的其他一些数组放在一个循环中。最后,您需要使用JSON.parse(...);函数调用为您创建的 JSON 可寻址对象分配一个变量。

于 2015-07-31T15:15:33.590 回答