生のXMLRSSフィードをC#にインポートする簡単な方法を知っている人はいますか?XMLを文字列として取得する簡単な方法を探しているので、正規表現で解析できます。
ありがとう、-グレッグ
これはあなたを動かすのに十分なはずです...
using System.Net
WebClient wc = new WebClient();
Stream st = wc.OpenRead(“http://example.com/feed.rss”);
using (StreamReader sr = new StreamReader(st)) {
string rss = sr.ReadToEnd();
}
.NET 3.5を使用している場合は、シンジケーションフィード(RSSおよびATOM)のサポートが組み込まれています。良い紹介については、このMSDNマガジンの記事をチェックしてください。
本当に正規表現を使用して文字列を解析したい場合(そしてXMLの解析は正規表現が意図したものではありません)、コンテンツを取得する最も簡単な方法はWebClientクラスを使用することです。ダウンロード文字列は簡単に使用できます。フィードのURLを指定するだけです。使用方法の例については、このリンクを確認してください。
何を達成しようとしていますか?
フィードを操作する場合、 System.ServiceModel.Syndicationクラスが非常に役立つことがわかりました。
次のように、フィードを XmlDocument に読み込み、正規表現の代わりに XPATH を使用します。
XmlDocument doc = new XmlDocument();
HttpWebRequest request = WebRequest.Create(feedUrl) as HttpWebRequest;
using (HttpWebResponse response = request.GetResponse() as HttpWebResponse)
{
StreamReader reader = new StreamReader(response.GetResponseStream());
doc.Load(reader);
<parse with XPATH>
}
XmlDocument(System.Xmlにあります。追加されていない場合はdllへの参照を追加する必要があります)は、xmlをC#に取り込むために使用するものです。その時点で、文字列形式で内部Xmlを提供するInnerXmlプロパティを呼び出してから、正規表現で解析します。
あなたはこれを見たいかもしれません:http://www.codeproject.com/KB/cs/rssframework.aspx
要求された文字列としてRSSフィードを取得する最良の方法は、System.Net.HttpWebRequestクラスを使用することです。HttpWebRequestのパラメーター(URLなど)を設定したら、HttpWebRequest.GetResponse()メソッドを呼び出します。そこから、WebResponse.GetResponseStream()を使用してストリームを取得できます。次に、そのストリームをSystem.IO.StreamReaderでラップし、StreamReader.ReadToEnd()を呼び出すことができます。出来上がり。
RSS は単なる xml であり、ディスクに簡単にストリーミングできます。Darrel の例を参考にしてください。これで十分です。