1 //解析する文字列はURLエンコードする
2 String postString = String.Format("developerId={0}&operation={1}&version={2}&keyword={3}&sort={4}&field={5}",
3 "xxxx",
4 "BooksTotalSearch",
5 "2011-12-01",
6 HttpUtility.UrlEncode("アラシゴト"),
7 HttpUtility.UrlEncode("+itemPrice"),
8 "0"
9 );
10
11 //UTF8でバイト配列にエンコードする
12 byte[] postData = Encoding.UTF8.GetBytes(postString);
13 string encstr = Encoding.GetEncoding("UTF-8").GetString(postData);
14
15 //Webリクエストを生成する
16 WebRequest webReq = WebRequest.Create("http://api.rakuten.co.jp/rws/3.0/rest?" + encstr);
17
18 webReq.Method = "GET";
19 webReq.ContentType = "application/x-www-form-urlencoded";
20
21 //結果をうけとってDOMオブジェクトにする
22 WebResponse webRes = webReq.GetResponse();
23
24 XmlDocument resultXml = new XmlDocument();
25
26 using (StreamReader reader = new StreamReader(webRes.GetResponseStream()))
27 {
28 resultXml.Load(reader);
29 }
30
31 //結果XML中の[word]タグのリストを取得する
32 XmlNodeList wordList = resultXml.GetElementsByTagName("Item");
33
34 //[word]以下のノードに含まれる内容をコンソールに出力する
35 foreach (XmlNode wordNode in wordList)
36 {
37 foreach (XmlNode resultNode in wordNode.ChildNodes)
38 {
39 Console.WriteLine("node_name:{0} value:{1}", resultNode.Name, resultNode.InnerText);
40 }
41 }
|