2011-08-09 8 views
1

インターネットから多数のXMLファイルをダウンロードして解析しています。それらはすべて最初の行に記述されている異なるエンコーディングを持っています。C#:WebClientのサイトコードを事前に取得する

<?xml version="1.0" encoding="windows-1251"?> 
<?xml version="1.0" encoding="UTF-8"?> 

のように...

私は正しいエンコーディングでテキストを受け取るために正しいWebClient.Encodingパラメータを設定する必要があります。しかし、ファイルをあらかじめダウンロードしておいて最初の行を読む必要があります。

できますか?あなたがする必要はありません - あなたは何を設定する必要はありません

HttpWebRequest myHttpWebRequest = (HttpWebRequest)WebRequest.Create(url); 
HttpWebResponse myHttpWebResponse = (HttpWebResponse)myHttpWebRequest.GetResponse(); 

XDocument.Load(myHttpWebResponse.GetResponseStream()); 

http://msdn.microsoft.com/en-us/library/system.xml.linq.xdocument.aspx

答えて

1

だけで、今これを使用し、それが自分自身のすべてを処理する必要がありますありがとうエンコーディングをまったく処理しないでください。バイナリデータを取得して、それを処理するXMLパーサを入手してください。ディスクにファイルを保存する場合は、バイナリデータを直接ディスクにダンプしてください。 は、エンコードについてまったく心配する必要はありません。

+0

これは、ファイルごとに正しく設定されていることを前提としています。 – Oded

+0

しかし、それはファイル全体をダウンロードしませんか? – Alex

+1

@Alexファイルをダウンロードし、正しいエンコーディングを応答ストリームに適用することができます。 1つのファイルのダウンロード。 – Skomski

1

関連する問題