Por defecto,¿Podemos forzar que XmlWriter emita <my-tag></my-tag> en lugar de <my-tag/>?
someXmlWriter.WriteElementString("my-tag", someString);
produce <my-tag />
Miré alrededor XmlWriterSettings clase para posibles opciones que obligarían al escritor para producir <my-tag></my-tag>
lugar, pero no encontró nada.
¿Existe una manera simple de forzar al XmlWriter a emitir elementos vacíos con "etiqueta abierta, etiqueta de cierre" en lugar de con la forma abreviada?
Editar:
Sí! Me doy cuenta de que con respecto a la validez de XML las dos notaciones son equivalentes, válidas y todas ... Sin embargo, estoy trabajando con código heredado que analiza dicho XML usando Read(), es decir, a nivel de nodo (!) Y lee cosas por Read() -ing cuando en un nodo vacío ...
Por lo tanto, mi pregunta viene en el contexto de limitar la cantidad de cambios en este código heredado. La pregunta de hecho se superpone con this SO question según lo sugerido; ninguna de las opciones ofrecidas allí es, sin embargo, fácilmente aplicable a mi situación.
¿Por qué? Ellos son equivalentes. – Quentin
posible duplicado de [C#: XmlTextWriter.WriteElementString falla en cadenas vacías?] (Http://stackoverflow.com/questions/1176202/c-xmltextwriter-writeelementstring-fails-on-empty-strings) – nemesv
Aquí puede encontrar una solución : http://stackoverflow.com/questions/13389960/how-to-use-xmlwritersettings-when-using-override-void-writeendelement obras de él para mí. – Portekoi