2012-06-13 11 views
11

मैं एक XElement के लिए निम्न विशेषताओं को जोड़ने की जरूरत है पर जिम्मेदार बताते कार्य करें:मैं कैसे सेट नाम स्थान एक XElement

<xmlns="http://www.mysite.com/myresource" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.mysite.com/myresource TheResource.xsd"> 

उन्हें जोड़ना एक XAttribute की वजह से काम नहीं करता है के रूप में ":" और मुझे यकीन है कि वैसे भी सही रास्ता नहीं है। मैं इन्हें वहां कैसे जोड़ूं?

उत्तर

13

यह a lot of blogs परिशोध लिया, लेकिन मैं अंत में आया था मुझे लगता है कि यह करने के लिए "सही" तरीका है:

 XNamespace ns = @"http://www.myapp.com/resource"; 
     XNamespace xsi = @"http://www.w3.org/2001/XMLSchema-instance"; 

     var root = new XElement(ns + "root", 
      new XAttribute(XNamespace.Xmlns+"xsi", xsi.NamespaceName), 
      new XAttribute(xsi + "schemaLocation", @"http://www.myapp/resource TheResource.xsd") 
      ); 
7

मुझे लगता है कि आप क्या चाहते हैं यहाँ वर्णित है: How to: Create a Document with Namespaces (C#) (LINQ to XML)

इसे से एक उदाहरण लेते हैं:

// Create an XML tree in a namespace. 
XNamespace aw = "http://www.adventure-works.com"; 
XElement root = new XElement(aw + "Root", 
    new XElement(aw + "Child", "child content") 
); 
Console.WriteLine(root); 

उत्पादन होगा:

<Root xmlns="http://www.adventure-works.com"> 
    <Child>child content</Child> 
</Root> 
+0

यह प्रश्न का केवल एक हिस्सा है। मैं अपना जवाब कैसे समाप्त कर रहा हूं इसके लिए नीचे मेरा जवाब देखें। –

संबंधित मुद्दे