2009-08-12 14 views
29

Bilinen bir yapıya bir Xml belgesi oluşturmak için bir XDocument kullanıyorum.XDocument öğelerine birden çok Namespace bildirimi nasıl eklenir?

<request xmlns:ns4="http://www.example.com/a" xmlns:ns3="http://www.example.com/b" xmlns:ns2="http://www.example.com/c" > 
    <requestId>d78d4056-a831-4c7d-a357-d14402f623fc</requestId> 
    .... 
</request> 

Bildirimi şu şekildedir: Ben kurmaya çalışıyorum yapıdır "xmlns: SX" bağlıyor.

Bu öznitelikleri "istek" öğeme eklemek, başarılı olmaksızın çalışıyorum.

<request ns4="http://www.example.com/a" ns3="http://www.example.com/b" ns2="http://www.example.com/c"> 
    <requestId>38b07cfb-5e41-4d9a-97c8-4740c0432f11</requestId> 
</request> 

nasıl doğru ad alanı bildirimlerini eklerim:

XNamespace ns4 = XNamespace.Get("http://www.example.com/a"); 
XNamespace ns3 = XNamespace.Get("http://www.example.com/b"); 
XNamespace ns2 = XNamespace.Get("http://www.example.com/c"); 

XDocument doc = new XDocument(
    new XDeclaration("1.0", "utf-8", "no"), 
    new XElement("request", 
     new XAttribute("ns4", ns4), 
     new XAttribute("ns3", ns3), 
     new XAttribute("ns2", ns2), 
     new XElement("requestId", Guid.NewGuid()) 
    ) 
); 

Ancak bu takip üretir?

cevap

49

Şunu yapın:

  new XAttribute(XNamespace.Xmlns + "ns4", ns4), 
      new XAttribute(XNamespace.Xmlns + "ns3", ns3), 
      new XAttribute(XNamespace.Xmlns + "ns2", ns2), 
+0

Öyle görünüyor! * Son derece hızlı yanıt için teşekkürler. –

+1

3 dakika? Marc açık. – jcollum

İlgili konular