2013-07-25 8 views
7

मैं एक स्ट्रिंग है जिसमें एक्सएमएल शामिल है, की सुविधा देता है इस तरह कहते हैं:सी एक XDocument लिए एक रूट जोड़ना #

<Booklist> 
<Novels> 
    <Book> 
    <Title>Cat in hat</Title> 
    <Price>12</Price> 
    </Book> 
</Novels> 
</Booklist> 

मैं:

<Novels> 
<Book> 
    <Title>Cat in hat</Title> 
    <Price>12</Price> 
</Book> 
</Novels> 

मैं एक XDocument कि इस तरह दिखता है बनाना चाहते XDocument doc = XDocument.Parse(xmlString);

का उपयोग करके एक्सएमएल स्ट्रिंग को एक्सडी दस्तावेज़ में लोड कर सकते हैं मैं दस्तावेज़ को एक नई रूट के नीचे कैसे लोड करूं। मैं जड़ के साथ एक नया एक्सडोकॉर्टर बनाने की तरह कुछ सोच सकता हूं और उसके बाद नोड्स को बच्चों के रूप में जोड़ने के लिए लूप का उपयोग कर रहा हूं, लेकिन क्या ऐसा करने का कोई आसान तरीका है?

उत्तर

14
XDocument yourResult = new XDocument(new XElement("Booklist", doc.Root)); 
7
var doc = new XDocument(new XElement("Booklist", source.Root)); 

यह बिल्कुल भी कोई भी पार्सिंग आवश्यकता नहीं है। XElement की गहरी प्रतिलिपि बनाई गई है, इसलिए पुराने और नए दस्तावेज़ों के बीच कोई संदर्भ भी नहीं है।

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