Pregunta

Tengo un documento creado en un constructor, y durante la ejecución estoy llenado adentro con fragmentos generados a partir visita de encargo de Objetos.

Cuando estoy dar salida a los fragmentos, necesito incluir fragmentos de espacio de nombres, pero Me gustaría evitar añadir la url espacio de nombres a cada fragmento, ya que está definido en la raíz.

¿Alguna idea?

_doc = new XDocument(
            new XDeclaration("1.0", "UTF-8", "yes"),
            new XElement(aw + "kml",
                new XAttribute(XNamespace.Xmlns + "gx", "http://www.google.com/kml/ext/2.2"),
                new XAttribute("xmlns", "http://www.opengis.net/kml/2.2"),
                new XElement(aw+"Document",

Así es como el doc se inicia, por lo que los espacios de nombres están ahí. ¿Cómo hago para la construcción de un XElement añadir usando el prefijo gx?

¿Fue útil?

Solución

Utilice el mismo URI para un XNamespace:

XNamespace gx = "http://www.google.com/kml/ext/2.2";
XElement foo = new XElement(gx + "foo");

LINQ to XML utilizará el prefijo apropiado de forma automática, como yo lo entiendo.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top