Ich möchte, um eine bestehende List<T> in eine XML-Datei in c#
Ich hatte einen Platz Klasse definieren wie folgt:
public class place
{
public string placeID { get; set; }
public string placeCatID { get; set; }
public string placeName { get; set; }
}
Und die Daten in einer Liste ablegen nennen placelist
List<place> placelist = new List<place>();
Kann mich führen, wie konvertiert man die placelist einen string oder exportieren, und speichern Sie es in eine XML-Datei-format wie folgt:
<place>
<pID>0001</pID>
<pCatID>C1</pID>
<pName>Location 1</pName>
</place>
<place>
<pID>0002</pID>
<pCatID>C1</pID>
<pName>Location 2</pName>
</place>
Sprache ist C#
Dank.
InformationsquelleAutor Snake Chia | 2012-06-09
Du musst angemeldet sein, um einen Kommentar abzugeben.
Kurz gesagt, folgende Optionen sind verfügbar:
InformationsquelleAutor EL Yusubov
Können Sie alle serializer, der serialisiert in XML. Ich würde vorschlagen DataContractSerializer
Aus der MSDN:
http://msdn.microsoft.com/en-us/library/bb675198.aspx
In Ihrem Fall ersetzen T mit
List<T>
InformationsquelleAutor Eric J.
Lösung unten ist für
XmlSerializer
verwenden, Sie können jedochDataContractSerializer
als gut.XmlSerializer
serialisiert alle Felder, die standardmäßig und mitDataContractSerializer
müssen Sie explizit angeben, was ist, serialisiert werden.Add-Serialisierung Attribute, um benutzerdefinierte element-Namen:
Code für die Serialisierung:
XML:
InformationsquelleAutor Dmitry Harnitski
Können Sie entweder schreiben Sie Ihre eigenen
ToXml()
- Methode oder verwenden Sie denDataContractSerializer
.InformationsquelleAutor bluevector
Ich schrieb ein blog-post auf das speichern von Daten eines Objekts zu Binär -, XML-oder Json. Weil Sie möchten, dass Ihre Klasse Variablen haben einen anderen Namen in der xml-Datei als code, müssen Sie schmücken jede öffentliche Eigenschaft mit [XmlElement("NameToShowUpInXmlFileGoesHere")].
Sobald Sie dass haben, rufen Sie einfach die folgenden Funktionen zum speichern und laden Sie Ihre Objekt-Instanz zu /aus einer Datei.
Hinweis: dies erfordert das System.Xml Montage in Ihrem Projekt enthalten.
Beispiel
InformationsquelleAutor deadlydog