まめ畑

ゆるゆると書いていきます

こう書けたのか

最近C#XML関係のアプリを作っているのですが、WEB上からXMLデータを取得する時の方法が今まであまりスマートとというか、いちいちHttpWebRequestからStreamとっていたという・・・。

こんな感じ

HttpWebRequest webReq = (HttpWebRequest)WebRequest.Create(アドレス);
webReq.Method = "GET";
webReq.Timeout = タイムアウト
//ストリームを取得
Stream stream = webReq.GetResponse().GetResponseStream();

StreamReader sr = new StreamReader(stream);

//XMLReaderSettingを設定したりして

//XMLReaderを初期化
XmlReader xr = XmlReader.Create(sr, さっき設定したやつ);

こんな感じ。


でも、直接こう書けたんだ・・・。

XmlUrlResolver resolver = new XmlUrlResolver();
XmlReaderSettings settings = new XmlReaderSettings();
settings.XmlResolver = resolver;
XmlReader xr = XmlReader.Create(アドレス,settings);

短くなったorz

もちろん認証も設定出来るし問題ない。
でも、タイムアウトが設定出来ないな。
タイムアウトを設定するなら最初の書き方なのかな?


もっと上手い方法ありそう。


もっと精進せねば。
やり始めて調べるから突っ込まれる事沢山だ。。。