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 .