c# - insertbefore - innerhtml
Uso de XmlSerializer para crear un elemento con atributos y un valor pero sin subelemento (1)
Encuentro la respuesta aquí: Xmlserializer - Control Elemento-Emparejamiento de atributos (revisado) .
Aquí está cómo hacerlo: marque la propiedad de valor con el atributo [XmlText]
.
public class Quantity {
// your attributes
[XmlAttribute]
public string foo;
[XmlAttribute]
public string bar;
// and the element value (without a child element)
[XmlText]
public int qty;
}
Con suerte, esta debería ser una respuesta fácil para alguien (y posiblemente un engaño), pero parece que no puedo resolverlo.
Necesito mostrar un elemento que tenga este aspecto:
<Quantity foo="AB" bar="CD">37</Quantity>
Sé cómo conseguir esto:
<Quantity foo="AB" bar="CD">
<qty>37</qty>
</Quantity>
con una clase de Cantidad que contiene
public int qty;
[XmlAttribute]
public string foo;
[XmlAttribute]
public string bar;
pero, por supuesto, cualquier variable en la que inserte la cantidad se convierte en su propio subelemento.
Por otro lado, si hago que la Cantidad sea una variable en el elemento principal, entonces puedo establecer el valor y obtener
<Quantity>37</Quantity>
pero entonces no sé cómo obtener los atributos.
Me sorprendería mucho si no hubiera una forma sencilla de hacer esto con XmlSerializer, pero todavía no lo sé. ¿Algunas ideas?