1

私はこのxmlファイルを持っています:http://www.studiovincent.net/list.xml

他のxmlファイルのコンテンツ全体をコピーする必要があります。

私はこのコードを試しました:

string sourcefile = "http://www.studiovincent.net/list.xml";
string destinationfile = "test.xml";
System.IO.File.Copy(sourcefile, destinationfile);

しかし、このエラーが発生するため、機能しません。URI形式はサポートされていません。

どうすればこの問題を解決できますか?

4

2 に答える 2

5

File.Copy()http://プロトコルをサポートしていないため、URI formats are not supportedエラーが発生します。

これを回避するには、ページのコンテンツを文字列に読み込んでから、ファイルに書き込みます。

WebClient client = new WebClient();
string contents = client.DownloadString("http://www.studiovincent.net/list.xml");

// write contents to test.xml
System.IO.File.WriteAllText ("test.xml", contents);

存在しない場合WriteAllText()は作成し、存在する場合は上書きすることに注意してください。test.xmlまた、上記のコードをtry / catchブロックでラップし、適切な例外をキャッチして処理することもできます。

于 2013-01-23T01:05:24.413 に答える
2

を使用することをお勧めしWebClient.DownloadFileます。文字列をダウンロードして保存すると、文字セットのマッピングで問題が発生する可能性があります。

WebClient client = new WebClient();
client.DownloadFile("http://www.studiovincent.net/list.xml", "test.xml");

これにより、データを文字列に変換するのではなく、ファイルを直接コピーします。これにより、文字列変換が行われる場合があります(たとえば、ファイルはUnicodeであり、WebClientUTF-8と見なされます)。次にファイルにコピーします。

于 2013-01-23T01:10:09.157 に答える