2016-05-06 1 views
3

Ich schreibe UWP App für Windows 10 Mobile.Erstelle Datei und schreibe XML dort (C#)

Ich habe xml wie folgt aus:

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")); 

Ich möchte .xml-Datei erstellen und diese XML zu schreiben.

versuche ich es wie diese doc.Save("data.xml"); zu speichern, aber diesen Fehler haben

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

Wie ich das machen kann?

Vielen Dank für Hilfe!

+1

Haben Sie versucht, zu suchen, wie man ein 'XmlDocument' speichert? Sie würden viele Ergebnisse bekommen! –

+1

Mögliches Duplikat von [So erstellen Sie XML-Dokumente mit XmlDocument?] (Http://stackoverflow.com/questions/11492705/how-to-create-xml-document-using-xmlocument) –

+0

@CharlesMager ist eine Universal-App –

Antwort

2

Seit Windows 10 Universal-App schreiben, XmlDocument.Save(string) nicht verfügbar sind. Verwenden Sie stattdessen

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

Funktioniert diese Lösung? Für mich gibt es unautorisierten Zugriff Fehler –

+0

Hallo ich wollte nur erwähnen, dass ich mit Core-Netz 1.0 in Ubuntu 16.04 arbeitete und ich kam der gleiche Fehler.aber wenn ich es auf diese Weise halte mich xml vielen Dank – JPCS

1

Da arbeiten Sie auf Windows Universal App.

Sie müssen unter den Code verwenden Datei im Speicher speichern:

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

Fehler \t CS1503 \t Argument 1: kann nicht von "Zeichenfolge" in "System.IO.Stream" konvertieren \t Hat diesen Fehler. - –

+0

Bitte sehen Sie diese Lösung. In UWP hilft Ihnen dieser Weg, XML-Datei zu speichern. – Saadi