Estoy buscando una forma con C# que puedo serializar una clase en XML y agregar un espacio de nombres, pero defino el prefijo que usará ese espacio de nombres.Serialización XML y prefijos de espacio de nombres
En última instancia estoy tratando de generar el siguiente código XML:
<myNamespace:Node xmlns:myNamespace="...">
<childNode>something in here</childNode>
</myNamespace:Node>
que sé tanto con el DataContractSerializer
y la XmlSerializer
puedo añadir un espacio de nombres, pero parecen generar un prefijo internamente, con algo que yo No soy capaz de controlar. ¿Puedo controlarlo con cualquiera de estos serializadores (puedo usar cualquiera de ellos)?
Si no puedo controlar la generación de los espacios de nombres, tendré que escribir mi propio serializador XML, y si es así, ¿cuál es el mejor para escribirlo?
+1 pero podría sugerir una edición para dejar en claro que el primer parámetro en el método .Add es el lugar donde ocurre la magia para establecer el prefijo. No estaba claro para mí por la respuesta hasta que revisé los documentos de MSDN. –
es justo suponer que no hay un equivalente con DataContractSerializer? (Solo quiero mantener mis opciones abiertas) –
@Slace - sí, creo que es seguro suponer que ** no es ** un equivalente para DCS. En última instancia, DCS no tiene la intención de darle mucho control sobre la salida (si desea controlar el xml, use 'XmlSerializer', ese es su trabajo). –