如何使用C#读取存储在UWP服务器中的XML文件? 我尝试下载XML文件,然后使用以下代码阅读:
StorageFolder storageFolder = ApplicationData.Current.LocalFolder;
Uri address = new Uri("https://www.dropbox.com/s/lyf9lv03dogidb9/home.xml?dl=1");
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(address);
WebResponse response = await request.GetResponseAsync();
Stream stream = response.GetResponseStream();
StorageFile XMLfile = await storageFolder.CreateFileAsync("homemv.xml", CreationCollisionOption.ReplaceExisting);
await Windows.Storage.FileIO.WriteBytesAsync(XMLfile, ReadStream(stream));
//load data into flip view
StorageFile tempFile = await ApplicationData.Current.LocalFolder.GetFileAsync("homemv.xml");
String datas = await FileIO.ReadTextAsync(tempFile);
XDocument loadedData = XDocument.Load(datas);
var data = from query in loadedData.Descendants("mvinfo")
select new MVData
{
VideoTitle = (string)query.Element("title"),
VideoYear = (string)query.Element("year"),
VideoSource = (string)query.Element("link"),
ImageSource = (string)query.Element("imgSource")
};
YouTubeMV.ItemsSource = data;
当我运行应用程序时,它显示一个错误,即Uri参数必须是文件系统或绝对路径。 我也尝试过使用:
Uri uri = new Uri( "https://www.dropbox.com/s/lyf9lv03dogidb9/home.xml?dl=1");
XDocument document = XDocument.Load(uri);
但它也行不通。
答案 0 :(得分:0)
XDocument.Load()
不接受http sheme URI - 它用于文件访问。
您要做的是XDocument.Load("C:/test.xml");
其中C:/test.xml
是XML文件的路径。在访问文件之前,需要先创建该文件。
如果要从流中创建XML,可以在此处查看:XDocument Load - cannot open