開発環境
- OS X Mavericks - Apple (OS)
- Dart Editor (開発環境)
- Dartium | Dart/ Structured web apps (ブラウザ, Dart VM 用 (Chromium with the Dart VM))
- Safari (ブラウザ, JavaScript 用)
- Dart (プログラミング言語)
『初めてのJavaScript 第2版』(シェリー・パワーズ著(Shelley Powers著)、武舎 広幸+武舎 るみ訳、オライリージャパン、2009年、ISBN978-4-87311-425-5) の15章(Ajaxのデータ - XMLかJSONか)、練習問第15-1.をDartで解いてみる。
その他参考書籍
- What is Dart? [Kindle版] (O'Reilly Media) Kathy Walrath Seth Ladd (著) このブログでの感想
練習問第15-1.
コード
sample.dart
import 'dart:html';
void main(){
var run = querySelector('#run'),
clear = querySelector('#clear'),
div = querySelector('#d0');
run.onClick.listen((MouseEvent event){
String result = '${window.navigator.userAgent}\n';
String url = 'http://mkamimura.com/kamimura_blog/learning_javascript/sample1.xml';
HttpRequest.request(url).then(
(HttpRequest request){
Document xml_doc = request.responseXml;
try{
Element recipe = xml_doc.querySelector('recipe');
Element title = new Element.tag('he');
title.text = recipe.querySelector('title').text;
ElementList ingredients = recipe.querySelectorAll('ingredient');
Element ul = new Element.tag('ul');
ingredients.forEach((Element e){
Element li = new Element.tag('li');
li.text = e.text;
ul.append(li);
});
Element instruction = new Element.tag('p');
instruction.text = recipe.querySelector('instruction').text;
div.text = '';
[title, ul, instruction].forEach((e){
div.append(e);
});
} catch (e){
div.text = '取得失敗: $e';
}
}).catchError((error) => div.text = '取得失敗: $error');
});
clear.onClick.listen((MouseEvent event) => div.text = '');
}
0 コメント:
コメントを投稿