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,并WebClient认为它是 UTF-8)然后复制到文件。

于 2013-01-23T01:10:09.157 回答