2017-12-31 109 views
0

C#を使用してUWPのサーバーに格納されているXMLファイルをどのように読み込みますか? 私は、XMLファイルをダウンロードしようとしましたし、このコードを使用して、それを読んできました:uwpで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 = new Uri("https://www.dropbox.com/s/lyf9lv03dogidb9/home.xml?dl=1"); 
XDocument document = XDocument.Load(uri); 

しかし、それはまた、動作しません。

+0

を単純すぎます。ファイルにダウンロードする必要はありません:XDocument doc = XDocument.Load( "https://www.dropbox.com/s/lyf9lv03dogidb9/home.xml?dl=1"); – jdweng

答えて

0

XDocument.Load()は、httpシェルのURIをとらず、ファイルアクセスに使用されます。

XDocument.Load("C:/test.xml");ここで、C:/test.xmlはXMLファイルのパスです。もちろん、ファイルにアクセスする前にファイルを作成する必要があります。

あなたは、ストリームからXMLを作成したい場合は、ここで見てみることができます。XDocument Load - cannot open

関連する問題