I am trying to write out the following element using 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">
I've got the very first declaration done using
writer.WriteStartElement("kml", "http://www.opengis.net/kml/2.2");
How can I add the remaining 3 declarations to the same element?
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");
Got that from https://msdn.microsoft.com/en-us/library/cfche0ka(v=vs.100).aspx.
The answer of Ryan B is incomplete as the XML namespace is only written as attribute but not registered in the name table, so LookupPrefix
will fail getting prefix of one of the XML namespaces, f.i. http://www.w3.org/2005/Atom
. It will return null
instead atom
.
To write a namespace attribute and get namespace registered use
writer.WriteAttributeString("atom", "http://www.w3.org/2000/xmlns/", "http://www.w3.org/2005/Atom");
Use of namespace http://www.w3.org/2000/xmlns/
registers also the prefix in name table.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With