2016-05-06 4 views
3

Я пишу приложение UWP для Windows 10 mobile.Создайте файл и напишите xml там (C#)

Я создал XML так:

XmlDocument doc = new XmlDocument(); 
     XmlElement el = (XmlElement)doc.AppendChild(doc.CreateElement("Order")); 
     el.SetAttribute("CallConfirm", "1"); 
     el.SetAttribute("PayMethod", ""); 
     el.SetAttribute("QtyPerson", ""); 
     el.SetAttribute("Type", "1"); 
     el.SetAttribute("PayStateID", "0"); 
     el.SetAttribute("Remark", "{StreetName} , .."); 
     el.SetAttribute("RemarkMoney", "0"); 
     el.SetAttribute("TimePlan", ""); 
     el.SetAttribute("Brand", "1"); 
     el.SetAttribute("DiscountPercent", "0"); 
     el.SetAttribute("BonusAmount", "0"); 
     el.SetAttribute("Department", ""); 

     XmlElement el2 = (XmlElement)el.AppendChild(doc.CreateElement("Customer")); 

     el2.SetAttribute("Login", ""); 
     el2.SetAttribute("FIO", "{FIO}"); 

     XmlElement el3 = (XmlElement)el.AppendChild(doc.CreateElement("Address")); 

     el3.SetAttribute("CityName", ""); 
     el3.SetAttribute("StationName", ""); 
     el3.SetAttribute("StreetName", "{StreetName}"); 
     el3.SetAttribute("House", "{HouseName}"); 
     el3.SetAttribute("Corpus", ""); 
     el3.SetAttribute("Building", ""); 
     el3.SetAttribute("Flat", "{FlatName}"); 
     el3.SetAttribute("Porch", ""); 
     el3.SetAttribute("Floor", ""); 
     el3.SetAttribute("DoorCode", ""); 

     XmlElement el4 = (XmlElement)el.AppendChild(doc.CreateElement("Phone")); 

     el4.SetAttribute("Code", "{Code}"); 
     el4.SetAttribute("Number", "{Phone}"); 

     XmlElement el5 = (XmlElement)el.AppendChild(doc.CreateElement("Products")); 

Я хочу, чтобы создать файл .xml и написать этот XML на него.

Я пытаюсь сохранить его как этот doc.Save("data.xml");, но эта ошибка

Error CS1503 Argument 1: cannot convert from 'string' to 'System.IO.Stream' Murakami  

Как я могу сделать это?

Большое спасибо за помощь!

+1

Вы пытались найти, как сохранить 'XmlDocument'? Вы получите много результатов! –

+1

Возможный дубликат [Как создать XML-документ с использованием XmlDocument?] (Http://stackoverflow.com/questions/11492705/how-to-create-xml-document-using-xmldocument) –

+0

@CharlesMager это универсальное приложение –

ответ

2

Поскольку вы пишете для Windows 10 универсальное приложение, XmlDocument.Save(string) недоступен. Вместо этого используйте

using (FileStream fs = new FileStream("test.xml", FileMode.Create)) 
    { 
     doc.Save(fs); 
    } 
+0

Это решение работает? Для меня это дает ошибку несанкционированного доступа –

+0

привет, я просто хотел упомянуть, что я работал с основной сетью 1.0 в ubuntu 16.04, и я вышел с той же ошибкой. Но когда я это делаю, так мне мешает xml спасибо – JPCS

1

Поскольку вы работаете над универсальным окном Windows.

вам нужно использовать код, приведенный ниже, чтобы сохранить файл в хранилище:

StorageFolder folder = ApplicationData.Current.LocalFolder; 
StorageFile file = await folder.CreateFileAsync(filename, CreationCollisionOption.ReplaceExisting); 
await doc.SaveToFileAsync(file); 
+0

Ошибка \t CS1503 \t Аргумент 1: невозможно преобразовать из 'string' в 'System.IO.Stream' \t Имеет эту ошибку. - –

+0

См. Это решение. В UWP этот способ поможет вам сохранить файл xml. – Saadi