概要
cscの作法、調べてみた。
練習問題やってみた。
練習問題
dbpediaにsparql投げてxmlを取得せよ。
写真
サンプルコード
using System;
using System.Windows.Forms;
using System.Drawing;
using System.Net;
using System.Web;
using System.IO;
using System.Text;
using System.Xml;
class form1: Form {
form1() {
Text = "dbpedia";
ClientSize = new Size(200, 200);
Button btn1 = new Button();
btn1.Location = new Point(50, 50);
btn1.Text = "test";
btn1.Click += btn1_Click;
Controls.AddRange(new Control[] {
btn1
});
}
void btn1_Click(object sender, System.EventArgs e) {
WebRequest request = WebRequest.Create("http://ja.dbpedia.org/sparql");
request.Method = "POST";
string postData = "SELECT DISTINCT * WHERE { dbpedia-ja:デ・トマソ dbpedia-owl:abstract ?abstract .}";
postData = "query=" + HttpUtility.UrlEncode(postData);
Console.WriteLine(postData);
byte[] byteArray = Encoding.UTF8.GetBytes(postData);
request.ContentType = "application/x-www-form-urlencoded";
request.ContentLength = byteArray.Length;
Stream dataStream = request.GetRequestStream();
dataStream.Write(byteArray, 0, byteArray.Length);
dataStream.Close();
WebResponse response = request.GetResponse();
Console.WriteLine(((HttpWebResponse) response).StatusDescription);
using (dataStream = response.GetResponseStream()) {
StreamReader reader = new StreamReader(dataStream);
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load(reader);
XmlElement rootElement = xmlDoc.DocumentElement;
XmlNodeList nodelist = rootElement.GetElementsByTagName("literal");
MessageBox.Show(nodelist.Item(0).InnerText);
}
response.Close();
}
[STAThread]
public static void Main() {
Application.Run(new form1());
}
}
以上。
