¿Cuál es la diferencia entre XMLWriter
y XMLDictionaryWriter
? ¿En qué casos se usa generalmente cada uno?XMLWriter vs XMLDictionaryWriter
Respuesta
XmlWriter
es una clase abstracta de las cuales XmlDictionaryWriter
es una de las clases que se hereda de ella y es en sí misma una clase abstracta.
Estoy tomando una puñalada en la oscuridad que desea utilizar con el DataContractSerializer
o con de/serialización en general. El XmlDictionaryWriter
es la clase base utilizada por WCF para hacer su de/serialización.
De ahí deduciría que debe haber un ajuste de rendimiento en el XmlDictionaryWriter
para hacerlo más eficiente con las tareas de de/serialización de WCF. De hecho, si se llama a la WriteObject(Stream, object)
en lugar de WriteObject(XmlWriter, object)
o WriteObject(XmlDictionaryWriter, object)
métodos se creará un XmlDictionaryWriter
para usted
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 es una clase abstracta se utiliza para la escritura de documentos XML de una manera sólo avance. Utiliza el método estático Create
para crear implementaciones concretas de la clase para su uso. Este método de creación de documentos XML es útil cuando necesita crear rápidamente XML arbitrario para cualquier uso.
XmlDictionaryWriter es una clase abstracta se utiliza para la serialización y deserialización de objetos hacia y desde XML. Por lo que entiendo, se usa en WCF para serializar objetos para moverlos a través del cable. XmlDictionaryWriter
puede serializar usando formatos binarios, de texto o MTOM. Esperaría que solo usara esta clase si necesitara específicamente la serialización (de) personalizada para usarla sobre WCF. Vea también here.
Espero que ayude.
El la información sobre la serialización (específicamente, MTOM) es realmente útil. ¡Gracias! – Nate
- 1. XmlWriter codificación
- 2. escritura XML formateado con XmlWriter
- 3. Salida XMLWriter a archivo XML
- 4. C# XmlWriter y UTF8 no válido caracteres
- 5. .Net XmlWriter - codificación inesperada me está confundiendo
- 6. XmlWriter escribir Cadena de Elementos con Atributo
- 7. Sangría y nuevo comando de línea para XMLwriter en C#
- 8. ¿Es posible escribir XML en la memoria con XmlWriter?
- 9. Gestión adecuada del espacio de nombres en .NET XmlWriter
- 10. Adición de múltiples declaraciones de espacios en XmlWriter
- 11. ¿Cómo crear un XmlDocument usando XmlWriter en .NET?
- 12. Cómo escribir System.Xml.Linq.XElement utilizando XmlWriter en una secuencia
- 13. Wcf System.InsufficientMemoryException. Error al asignar un búfer de memoria administrada de 536870912 bytes
- 14. XmlWriter para escribir en una cadena en lugar de en un archivo
- 15. ¿Cómo poner un atributo de codificación en xml otro que utf-16 con XmlWriter?
- 16. ¿Cómo puedo obligar a XmlWriter a manejar espacios de nombres correctamente?
- 17. XmlWriter: ¿se requiere cerrar() si se usa un bloque de uso?
- 18. J2ME VS Android VS iPhone VS Symbian VS Windows CE
- 19. TagSoup vs Jsoup vs HTML Analizador vs vs HotSax
- 20. 'método' vs. 'mensaje' vs. 'función' vs. '???'
- 21. ACE vs Boost vs Poco vs wxWidgets
- 22. VS 2008 vs VS 2008 Express
- 23. Atomikos vs JOTM vs Bitronix vs?
- 24. Acumular vs fold vs reducir vs compress
- 25. .NET vs ASP.NET vs CLR vs ASP
- 26. control.BeginInvoke() Vs Dispatcher Vs SynchronizationContext Vs .. - FIABILIDAD
- 27. método vs función vs procedimiento vs clase?
- 28. Rhino simulacro vs Typemock vs JustMock vs
- 29. inline vs __inline vs __inline__ vs __forceinline?
- 30. Exec vs vs ExecWait ExecShell vs nsExec :: Exec vs nsExec :: ExecToLog vs nsExec :: ExecToStack vs vs ExecDos ExeCmd
me gusta la descripción de XMLDictionaryWriter en MSDN:. * Una clase abstracta que los deriva de hacer la serialización y deserialización * –