ソース ダウンロード SilverlightYahooParse.zip (7.4K)
使い方
メモ
・Page.xaml.cssの24行目hogehogeはアプリケーションIDを取得して適当に変える。(hogehogeではできません)
var appid = "hogehoge";・リクエストパラメータはParser.csの60行目
var url = CreateUrl(_appid, sentence, "ma", "surface,reading,pos,baseform", "", "", "", "", "", "");というところで何とかする。
・リクエストURLをつくるとき、sentenceはURLEncodeしないといけない。Silverlightでは、System.Windows.Browser.HttpUtility.UrlEncode(sentence)とする。WPFではHttpUtilityはSystem.Webにある。
・結果の取得はWebClientを利用する。
WebClient client = new WebClient(); client.Encoding = Encoding.UTF8; client.DownloadStringCompleted += (s, e) => { var result = e.Result; XDocument xdoc = XDocument.Parse(result); XNamespace ns = xdoc.Root.GetDefaultNamespace(); var word_list = from element in xdoc.Descendants(ns + "word_list").Descendants(ns + "word") select new word { surface = (string)element.Element(ns + "surface"), reading = (string)element.Element(ns + "reading"), pos = (string)element.Element(ns + "pos"), baseform = (string)element.Element(ns + "baseform"), }; _Result = new List(word_list); if (ParseCompleted != null) ParseCompleted(this, EventArgs.Empty); }; Uri uri = new Uri(url); client.DownloadStringAsync(new Uri(url));
・DataGridのつかいかたはこっち。
No comments:
Post a Comment