Domanda

Sto cercando di scrivere il seguente 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">

Ho la prima dichiarazione di fatto utilizzando

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

Come posso aggiungere i restanti 3 dichiarazioni allo stesso elemento?

È stato utile?

Soluzione

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");

Ha ottenuto che dal https: // MSDN. microsoft.com/en-us/library/cfche0ka(v=vs.100).aspx.

Altri suggerimenti

La risposta di Ryan B è incompleto come il namespace XML è scritto solo come attributo, ma non è registrato nel nome della tabella, in modo da LookupPrefix fallirà sempre prefisso di uno dei namespace XML, fi http://www.w3.org/2005/Atom. Si tornerà null invece atom.

Per scrivere un attributo namespace e ottenere namespace uso registrati

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

L'utilizzo di http://www.w3.org/2000/xmlns/registers namespace anche il prefisso nella tabella nome.

Gli spazi dei nomi sono attributi semplicemente. Utilizzare gli standard significa di scrivere gli attributi per l'elemento.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top