javascript - 使用 Javascript 解析 XML(在 Google Scripts 中)

标签 javascript xml parsing google-apps-script

我有温度传感器流式传输三个 hive 的温度,并希望能够解析 XML 流以提供传感器的最后一个值。

我想要:

  • 传感器 1:75 度(更新时间:晚上 9:04)
  • 传感器 2:75 度(更新时间:晚上 9:04)

我在 Google Scripts 中运行以下脚本,但不断收到错误消息:

Cannot find function getContentText in object <?xml version="1.0" encoding="UTF-8"?>

这是一个简单的脚本:

function XMLing() {

  var response = UrlFetchApp.fetch("https://api.cosm.com/v2/feeds/79697.xml?key=[private key here]");

  var doc = Xml.parse(response.getContentText(), true);
  var records = doc.getElements("current_value");
  var details = records[0].getText();

  return details;

}

这是 XML:

<eeml xmlns="http://www.eeml.org/xsd/0.5.1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="0.5.1" xsi:schemaLocation="http://www.eeml.org/xsd/0.5.1 http://www.eeml.org/xsd/0.5.1/0.5.1.xsd">
  <environment updated="2012-10-21T00:44:32.162393Z" created="2012-10-10T21:19:43.373591Z" id="79697" creator="https://cosm.com/users/greennomad">
    <private>false</private>
    <data id="sensor1tem">
      <current_value at="2012-10-21T00:44:32.019058Z">67.00</current_value>
      <max_value>618.0</max_value>
      <min_value>611.0</min_value>
    </data>
    <data id="sensor2tem">
      <current_value at="2012-10-21T00:44:32.019058Z">60.57</current_value>
      <max_value>61.5</max_value>
      <min_value>60.41</min_value>
    </data>
...

最佳答案

错误消息相当明显:您的响应对象是实际文本(XML 响应),而不是具有 getContentText() 方法的对象。所以这应该有效:

var doc = Xml.parse(response, true);

关于javascript - 使用 Javascript 解析 XML(在 Google Scripts 中),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12994291/

相关文章:

javascript - 在文本中保留撇号

xml - 以结构化 XML 格式输出完整的 Drupal 页面

iphone - ios5嵌套json解析

java - 如何获取 OffsetDateTime->LocalDateTime 并将其保存为 UTC?

javascript - Angular 4 : Authguard(canActivate) in not blocking the url as it should, 破坏应用程序阻止一切,控制台/浏览器中不会抛出任何错误

javascript - Vuejs : how to use component 2 in template of component 1

javascript - 每个下拉项显示不同的图像(HTML + Javascript)

php - 文件类型字段在文件字段下方显示最大上传大小。需要在 joomla 中删除它

java - 如何在 JAXB XML 解码期间实现子对象的父对象属性(属性和值)

json - 如何使用带双引号和单引号的 bash 变量