2011-12-20 24 views
5

Quiero crear una XDocument con lo que se agradece se parecerá a continuación:Adición de nombres xmlns en un XDocument

<configurations xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://msn.com/csl/featureConfigurationv2"> 
    <configuration> 
    … 
    </configuration> 
</configurations> 

Estoy frente a un problema en la adición del segundo atributo. Estoy intentando esto:

XYZ.Element("configurations").SetAttributeValue("xmlns", "http://msn.com/csl/featureConfigurationv2"); 

Pero no está agregando el atributo.

¿Puede sugerir algo más por favor?

Respuesta

1

Prueba esta manera

XNamespace ns = XNamespace.Get("http://msn.com/csl/featureConfigurationv2"); 
XDocument doc = new XDocument(
    // Do XDeclaration Stuff 
    new XElement("configurations", 
     new XAttribute(XNamespace.Xmlns, ns), 
     // Do XElement Stuff 
    ) 
); 

y de esta manera también

XNamespace ns = "http://msn.com/csl/featureConfigurationv2"; 
XElement configurations = new XElement(ns + "configurations", 
    new XAttribute("xmlns", "http://msn.com/csl/featureConfigurationv2"), 
    // Do XElement Stuff 
); 
+0

¿Por qué esta respuesta ha sido aceptado? Ambos fragmentos son totalmente inválidos. El primero causa un error en tiempo de compilación y el segundo falla en tiempo de ejecución. –

Cuestiones relacionadas