Una pregunta larga: por favor tengan paciencia conmigo!Creando XML con espacios de nombres y esquemas de un XElement
Quiero programar mediante programación un documento XML con espacios de nombres y esquemas. Algo así como
<myroot
xmlns="http://www.someurl.com/ns/myroot"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.someurl.com/ns/myroot http://www.someurl.com/xml/schemas/myschema.xsd">
<sometag>somecontent</sometag>
</myroot>
estoy usando la más espléndida cosas nuevas LINQ (que es nuevo para mí), y tenía la esperanza de hacer lo anterior utilizando un XElement.
Tengo un método ToXElement() en mi objeto:
public XElement ToXElement()
{
XNamespace xnsp = "http://www.someurl.com/ns/myroot";
XElement xe = new XElement(
xnsp + "myroot",
new XElement(xnsp + "sometag", "somecontent")
);
return xe;
}
que me da el espacio de nombres correctamente, por lo tanto:
<myroot xmlns="http://www.someurl.com/ns/myroot">
<sometag>somecontent</sometag>
</myroot>
Mi pregunta: ¿Cómo puedo agregar los schema xmlns : xsi y xsi: atributos schemaLocation?
(Por cierto que no puedo usar XAtttributes simples como me sale un error para el uso de los dos puntos ":" en un nombre de atributo ...)
o tengo que utilizar un XDocument o alguna otra clase de LINQ ?
Gracias ...