Rhino(1.7R2) で E4X を使ってみた。
livedoor 天気情報 から、天気予報の部分だけ抜き出す。
var text = readUrl('http://weather.livedoor.com/forecast/webservice/rest/v1?city=113&day=tomorrow'); // <?xml version=...?>のパースをサポートしていないので // https://developer.mozilla.org/ja/E4X var text = text.replace(/^<\?xml\s+version\s*=\s*(["'])[^\1]+\1[^?]*\?>/, ""); var xml = new XML(text); xml.telop; // うまくいかなかった xml.*; // これもダメ var xml2 = new XML('<root>' + text + '</root>'); xml2.lwws.telop; // OK
なんでか、そのままだとうまく取り出せなかった。
ルート要素を変えてあげればうまくいった。XMLの形式でなにかあるんだろうか。