Windows Azure Cloud Storage ermöglicht es Ihnen bereits ab 0,10€ pro GB/Monat die Vorteile der Cloud zu nutzen.
Willkommen bei dotnet-snippets.de! Snippet hinzufügen Login Registrieren
Snippets in der Datenbank: 1550 | Anzahl registrierter User: 1841 | Besucher online: 49
Hauptmenü
Home
Top Ten
Zufälliger Snippet
FAQs
.NET Community
dotnet-forum.de
dotnet-kicks.de
Social

RSS Feeds
Rss Alle Snippets
Rss C#
Rss VB.NET
Rss C++
Rss ASP.NET
Partner
Member of Microsoft Community Leader/Insider Program (CLIP)

Generisch XML De-/ Serialisieren


Autor: Orbmu2k
Sprache: C#
Bewertung:
9.44 (2 votes)
Anzahl der Aufrufe: 7189
  
Kick it on dotnet-kicks.de  

Beschreibung:

Beispiel Klasse für Serialisierbares Objekt:


public class SimpleData
{
private string name = "";
private string phone = "";

public string Name
{
get { return name; }
set { name = value; }
}
public string Phone
{
get { return phone; }
set { phone = value; }
}
}


Beispiel für Anwendung:


public class SampleUsage
{
private SimpleData data = new SimpleData();

public void LoadSimpleData()
{
data = XMLHelper.DeserializeFromXMLFile[SimpleData](@"simpledata.xml");
}

public void StoreSimpleData()
{
XMLHelper.SerializeToXMLFile[SimpleData](data, @"simpledata.xml", Encoding.Unicode, true);
}

}


Eckige Klammern sind durch spitze Klammern zu ersetzen. (Die eckigen Klammer scheinen hier nicht übernommen zu werden)


Abgelegt unter: XML, Serialize, Generic, Encoding, Namespace.



C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
public static class XMLHelper
    {
        public static string SerializeToXMLString<T>(T XMLObj, Encoding encoding, bool removeNamespace)
        {
            XmlSerializer xmlSerializer = new XmlSerializer(typeof(T));
            MemoryStream memStrm = new MemoryStream();
            XmlTextWriter xmlSink = new XmlTextWriter(memStrm, encoding);
            xmlSink.Formatting = Formatting.Indented;

            if (removeNamespace)
            {
                XmlSerializerNamespaces xs = new XmlSerializerNamespaces();
                xs.Add("", "");
                xmlSerializer.Serialize(xmlSink, XMLObj, xs);
            }
            else
                xmlSerializer.Serialize(xmlSink, XMLObj);

            return encoding.GetString(memStrm.ToArray());
        }

        public static void SerializeToXMLFile<T>(T XMLObj, string Filename, Encoding encoding, bool removeNamespace)
        {
            File.WriteAllText(Filename, SerializeToXMLString<T>(XMLObj, encoding, removeNamespace));
        }

        public static T DeserializeFromXMLString<T>(string XML) where T : new()
        {
            T XMLObj = new T();
            XmlSerializer xmlSerializer = new XmlSerializer(typeof(T));
            StringReader sr = new StringReader(XML);
            XMLObj = (T)xmlSerializer.Deserialize(sr);
            return XMLObj;
        }

        public static T DeserializeFromXMLFile<T>(string Filename) where T : new()
        {
            if (!File.Exists(Filename))
                throw FileNotFoundException();

            return DeserializeFromXMLString<T>(File.ReadAllText(Filename));
        }

    }
Sie haben Fragen zu diesem Snippet oder brauchen Hilfe bei der .NET Entwicklung?
Freundliche und kompetente Entwickler helfen Ihnen gern weiter im Forum für .NET Entwicklung.



Kommentare:
(Zum Schreiben von Kommentaren bitte anmelden.)

DavidMG schrieb am:  27.05.2011 13:51:41

using System.Text;

throw new FileNotFoundException();


Diese Snippets könnten für Sie interessant sein:
[C#] Objekt in XML speichern (Serialisieren)
[C#] Treeview in XML schreiben
[ASP.net] XML - HTML Transformation
[C#] XML Encoding eines XmlDocument ändern
[C#] XMLDocument in XDocument konvertieren
[C#] Rss Feed in XMLDocument laden
[VB.NET] XML Datei in DataSet einlesen
[VB.NET] Objekt mit dem XmlSerializer serialisieren
[VB.NET] XML Datei mit dem XmlSerializer deserialisieren
[C#] Image zu Base64 konvertieren und zurück
[C#] Generische XML-Serialisierung
[C#] CSV und XML-Datei Datenbank-Import (incl. valid-check)
[C#] Währungskurse in Datenbank speichern
[VB.NET] Einfaches Erstellen einer XML Datei in .Net
[C#] XML in DataTable laden
[C#] Intellisense Unterstützung für XML Dateien für LINQ
[C#] user.config und generische Listen
[C#] Dataset verschlüsseln
[C#] Xml Datei entschlüsseln
[ASP.net] XML Daten über einen Internet Proxy abfragen
[C#] XML-Programmkonfiguration / -Steuerung
[C#] Formatieren von Sonderzeichen für XML
[C#] Binärdatei in XML File speichern
[C#] Binärdatei aus XML Datei auslesen und abspeichern
[C#] leere Knoten aus XML Document entfernen
[C#] XML Kommentare entfernen
[C#] Austauch von kritischen Zeichen in einem String...
[C#] Excel-Export ohne Excel (auch für Web)
[C#] Ini-Datei-Klasse
[C#] TreeView Export To Xml OR Import from XMl
[C#] Autom. Laden & Speichern von Position und Größe eines Forms
[VB.NET] Bild als XML Datei Speichern
[C#] Ein Object serialisieren
[C#] Ein Object deserialisieren
[C#] Konvertiert Code nach Example für XML-Kommentar
[C#] XMLIO - einfachstes (De)serialisieren von/zu XML-Dateien
[C#] XML generieren mit Linq to XML
[C#] 3 arten der Serialisierung bzw Deserialisierung
[C#] Spracherkennung
[C#] Wunderground Wettervorhersage
[C#] Mit LINQtoXML XML Dateien erzeugen bzw. abfragen
[C#] ini Datei anlegen - mit Dictionary
[C#] Typen mit dem XmlSerializer (de-)serialisieren
[C#] Font - Objekte binär serialisieren und deserialisieren
[C#] Generisches, komprimiertes, deserialisieren von Objekten
[VB.NET] ByteArray mit dem BinaryFormatter deserialisieren
[VB.NET] Objekt mit dem BinaryFormatter serialisieren
[C#] Objekt Serialisieren mit UTF-8 encoding
[C#] Serializable TimeSpan
[C#] Generische Between Methode
[C#] Generische Liste per Reflection erzeugen
[C#] Generische Extension zum Auslesen eines Klassen-Attributes
[C#] Filtern mit dem Blacklist - Whitelist Verfahren
[C#] Generische Klasse die Objekte für eine ComboBox kapselt
[C#] generische zip funktion
[C#] Eine allgemeine Liste (IEnumerable) in ein Array umwandeln
[C#] Singleton Basisklasse (thread-safe, generic, Lazy Creation)
[C#] Add Key-Value return old Value
[C#] Generische Event Args -> EventArgs
[C#] WatchedList
[C#] UrlDecode
[C#] Quoted Printable Encoder
[C#] Mit Silverlight Videos auf einer Webseite anzeigen

schlecht sehr gut
1 2 3 4 5 6 7 8 9 10
Nur angemeldete User können Snippets bewerten.