また、私はスクリプトエディタを使用することにより、グーグルスプレッドシートではJavaScriptを使用してXMLデータのプルを実装する必要が私のrecent taskは、GoogleスプレッドシートでXmlServiceを使用して値を取得
の種類のフォローアップ質問です。私は遠隔に格納されたXMLファイルから特定の値を抽出しようとしています。構造体は固定されており、時々値が変更されるだけなので、コードは静的(インデックス?)にすることができます。
次のようにXMLが見えます:
<?xml version='1.0' encoding='UTF-8'?>
<response xmlns="http://www.xovis.com/sensor-api/v2">
<sensor-time timezone="Europe/Berlin">2017-12-18T17:00:02+01:00</sensor-time>
<status>
<code>OK</code>
</status>
<content>
<elements>
<element>
<element-id>0</element-id>
<element-name>count/element-name>
<sensor-type>somesensor</sensor-type>
<data-type>LINE</data-type>
<from>2017-10-29T16:00:00+01:00</from>
<to>2017-10-29T17:00:00+01:00</to>
<resolution>ONE_HOUR</resolution>
<measurements>
<measurement>
<from>2017-10-29T16:00:00+01:00</from>
<to>2017-10-29T17:00:00+01:00</to>
<values>
<value label="fw">145</value>
<value label="bw">1</value>
</values>
</measurement>
</measurements>
</element>
</elements>
</content>
<sensor-info>
<serial-number>D5:88:63:98:AA:E2</serial-number>
<ip-address>192.168.1.99</ip-address>
<name>somename</name>
<group></group>
<device-type>XYZ</device-type>
</sensor-info>
</response>
私が今直面してる問題は、私は私が考える値145と1を取得するためのレベルでより深くを掘る方法には、作業のアイデアを持っていないということです私は属性fw/bwを利用しなければならない。
Cannot find method getChild(). (line 53, file "Code")
function xmlRead(){
var url = 'SOMEURL';
var responseXML = UrlFetchApp.fetch(url).getContentText();
var outputDocument = XmlService.parse(responseXML);
var ns = XmlService.getNamespace("http://www.xovis.com/sensor-api/v2");
var out = outputDocument.getRootElement().getChildren()[2].getChildren();
var fw = out.getChild();
Logger.log(out);
}
おかげで、それはあなたのコードを使用するときに前と同じエラーを返して: はTypeError:メソッドを呼び出すことはできませんヌルの「でGetChild」。 (行68、ファイル "コード") デバッグモードを実行するとvarコンテンツもnullです –
'outputDocument.getRootElement()'をデバッグするとどうなりますか? – Casper
[17-12-19 14:26:13:171 CET] null –