que programacion prefijo nombres namespace está espacio definido namespaces xmlwriter

namespaces - programacion - namespace xml c#



Agregando múltiples declaraciones de espacio de nombres en XmlWriter (3)

Estoy tratando de escribir el siguiente elemento usando XmlWriter

<kml xmlns="http://www.opengis.net/kml/2.2" xmlns:gx="http://www.google.com/kml/ext/2.2" xmlns:kml="http://www.opengis.net/kml/2.2" xmlns:atom="http://www.w3.org/2005/Atom">

Tengo la primera declaración hecha usando

writer.WriteStartElement("kml", "http://www.opengis.net/kml/2.2");

¿Cómo puedo agregar las 3 declaraciones restantes al mismo elemento?


La respuesta de está incompleta ya que el espacio de nombres XML solo se escribe como atributo pero no está registrado en la tabla de nombres, por lo que LookupPrefix no obtendrá el prefijo de uno de los espacios de nombres XML, fi http://www.w3.org/2005/Atom Devolverá null lugar de atom .

Para escribir un atributo de espacio de nombres y obtener el uso de espacio de nombres registrado

writer.WriteAttributeString("atom", "http://www.w3.org/2000/xmlns/", "http://www.w3.org/2005/Atom");

El uso del espacio de nombres http://www.w3.org/2000/xmlns/ registra también el prefijo en la tabla de nombres.


Los espacios de nombres son simplemente atributos. Utilice los medios estándares de escritura de atributos para el elemento.


writer.WriteAttributeString("xmlns","gx", null, "http://www.google.com/kml/ext/2.2"); writer.WriteAttributeString("xmlns","kml", null, "http://www.opengis.net/kml/2.2"); writer.WriteAttributeString("xmlns","atom", null, "http://www.w3.org/2005/Atom");

Lo obtuve de https://msdn.microsoft.com/en-us/library/cfche0ka(v=vs.100).aspx .