2011-12-20 13 views
5

Voglio creare un XDocument con pagherei sarà simile di seguito:xmlns namespace in un XDocument

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

Sono di fronte problema ad aggiungere il secondo attributo. Sto provando questo:

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

Ma non aggiunge l'attributo.

Potete suggerire qualcos'altro per favore.

risposta

1

Prova questo modo

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

e in questo modo anche

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

Perché questa risposta è stata accettata? Entrambi gli snippet non sono validi. Il primo causa errori di compilazione e il secondo si arresta in fase di esecuzione. –