2013年11月18日月曜日

開発環境

『初めてのJavaScript 第2版』(シェリー・パワーズ著(Shelley Powers著)、武舎 広幸+武舎 るみ訳、オライリージャパン、2009年、ISBN978-4-87311-425-5) の15章(Ajaxのデータ - XMLかJSONか)、練習問第15-1.をDartで解いてみる。

その他参考書籍

練習問第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 コメント:

コメントを投稿