SimplyJS和xml:获取密钥的值

时间:2014-07-12 17:35:09

标签: javascript ajax xml pebble-watch pebble-sdk

晚上好,
我的Pebble Watch项目已经发展,我现在正在使用官方外部API来发出HTTP请求以获取值。我之前的问题是关于JSON,现在我以XML格式得到了结果 这是我调用API时得到的XML:

<?xml version="1.0" encoding="UTF-8"?>
<root>
   <items>
      <item id="1234567">
         <author gender="man" country="France" region="Ile-de-France">myuser</author>
         <category>mycategory</category>
         <date>2010-08-23T05:48:51+02:00</date>
         <from />
         <text>THIS IS THE CONTENT</text>
         <comments_flag>1</comments_flag>
         <short_url>http://myshort.url</short_url>
      </item>
   </items>
   <comments />
   <active_key>1234567890</active_key>
   <code>1</code>
   <pubdate>2014-07-12T18:51:49+02:00</pubdate>
   <language>fr</language>
   <errors />
</root>

这就是我现在在SimplyJS脚本中的内容:

simply.on('accelTap' || 'singleClick', function(e) {
      simply.body("Loading...");
      ajax({ url: 'http://myAPIurl', type:'xml' }, function(data){
      simply.scrollable(true);
      simply.body(data);
    });
  //}
});


结果,我的Pebble上显示了完整的XML。但我想 &lt; 下的内容文字&gt; 部分 我已尝试过一些&#34; data.text&#34;选择器,就像在JSON中一样,但我得到了对象错误。

谢谢!

1 个答案:

答案 0 :(得分:1)

通过Pebble论坛的Pedrolane成员发现解决方案 这是我使用的单行:

var mytext = data.match(/<text>(.*?)<\/text>/)[1];

要获得完美可读的文字,请更换&#39;&amp; QUOT;&#39;文字由&#39;&#34;&#39; :

mytext = mytext.replace(/&quot;/g, "\"");

参考:Simply.JS Documentation