Was ist der Unterschied zwischen XMLWriter
und XMLDictionaryWriter
? In welchen Fällen wird jeder in der Regel verwendet?XMLWriter vs XMLDictionaryWriter
Antwort
XmlWriter
ist eine abstrakte Klasse, von der XmlDictionaryWriter
eine der Klassen ist, die von ihr erbt und selbst eine abstrakte Klasse ist.
Ich nehme einen Stich in die Dunkelheit, die Sie mit der DataContractSerializer
oder mit de/Serialisierung im Allgemeinen verwenden möchten. Die XmlDictionaryWriter
ist die Basisklasse, die von WCF für die De/Serialisierung verwendet wird.
Daraus würde ich ableiten, dass es eine Leistungsoptimierung in der XmlDictionaryWriter
geben muss, um es performanter mit WCF de/Serialisierungsaufgaben zu machen. wenn Sie in der Tat nennen die WriteObject(Stream, object)
statt WriteObject(XmlWriter, object)
oder WriteObject(XmlDictionaryWriter, object)
Methoden wird es ein erstellen XmlDictionaryWriter
für Sie
public virtual void WriteObject(Stream stream, object graph)
{
CheckNull(stream, "stream");
XmlDictionaryWriter writer = XmlDictionaryWriter.CreateTextWriter(stream, Encoding.UTF8, false);
this.WriteObject(writer, graph);
writer.Flush();
}
XmlWriter ist eine abstrakte Klasse, die zum direkten Schreiben von XML-Dokumenten verwendet wird. Sie verwenden die statische Methode Create
, um konkrete Implementierungen der zu verwendenden Klasse zu erstellen. Diese Methode zum Erstellen von XML-Dokumenten ist nützlich, wenn Sie für beliebige Zwecke schnell beliebiges XML erstellen möchten.
XmlDictionaryWriter ist eine abstrakte Klasse, die für die Serialisierung und Deserialisierung von Objekten zu und von XML verwendet wird. Soweit ich weiß, wird es in WCF zum Serialisieren von Objekten zum Bewegen über die Leitung verwendet. XmlDictionaryWriter
kann mit Binär-, Text- oder MTOM-Formaten serialisiert werden. Ich würde erwarten, dass Sie diese Klasse nur verwenden würden, wenn Sie eine benutzerdefinierte (De-) Serialisierung für die Verwendung über WCF benötigen würden. Siehe auch here.
Hoffe, dass hilft.
Die Info über Serialisierung (speziell MTOM) ist sehr hilfreich. Vielen Dank! – Nate
- 1. Serialize (TextWriter, Object) vs. Serialize (XmlWriter, Object)
- 2. XmlWriter asynchrone Methoden
- 3. XmlWriter Codierung gibt
- 4. xmlwriter writedoctype Formatierung
- 5. Zeilenumbrüche in PHP xmlwriter Dokument
- 6. mehrere Namespace-Deklarationen in XmlWriter
- 7. XmlWriter C# -Code aus XML generieren
- 8. XmlWriter nur entkommen eine Art Zitat
- 9. .Net XmlWriter - unerwartete Codierung ist verwirrend mich
- 10. Diese XmlWriter unterstützt nicht Base64-codierte Daten
- 11. C# XmlWriter und ungültige UTF8 Zeichen
- 12. Forcieren XmlWriter zu verwenden 'ungültige' Zeichen
- 13. schreiben Mehrere Attribute XML-Tag mit XmlWriter
- 14. Proper Namespace Management in. NET XmlWriter
- 15. Einzug und neuer Zeilenbefehl für XMLwriter in C#
- 16. XmlWriter an ConfigurationElement.SerializeElement übergeben ist immer Null auf Configuration.Save
- 17. XmlWriter: ruft Close() auf, wenn Sie einen using-Block verwenden?
- 18. XmlWriter zum Schreiben in eine Zeichenfolge statt in eine Datei
- 19. Wie schreibe ich System.Xml.Linq.XElement mit XmlWriter zu einem Stream
- 20. XMLWriter zum Anhängen von Daten an eine vorhandene Datei erstellen
- 21. Wie schreibe/schreibe ich ein komplexes Objekt mit XmlWriter/XmlReader
- 22. Möglich, mit XmlWriter XML in den Speicher zu schreiben?
- 23. mehrere Daten in XML-Datei mit PHP xmlwriter hinzufügen
- 24. PHP Code erzeugen, die XML-Ziel mit XMLWriter
- 25. Klasse vs Paket vs Modul vs Komponente vs Container vs Service vs Plattform in Java Welt
- 26. Opa vs Dart vs Haxe vs Coffee
- 27. Akkumulieren vs falten vs reduzieren vs komprimieren
- 28. body.scrollTop vs documentElement.scrollTop vs window.pagYOffset vs window.scrollY
- 29. ACE vs Boost vs Poco vs wxWidgets
- 30. Inline vs __inline vs __inline__ vs __forceinline?
I XmlDictionaryWriter Beschreibung auf MSDN mag:. * Eine abstrakte Klasse, die von herleitet Serialisierung und Deserialisierung zu tun * –