2013-07-25 32 views
7

我有一個包含XML字符串,可以這樣說:C#添加根到一個XDocument

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

我想要看起來像這樣一個XDocument:

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

我可以將xml字符串加載到XDocument中使用XDocument doc = XDocument.Parse(xmlString);

如何將文檔加載到新的根目錄下。我可以考慮使用我想要的根創建一個新的XDocument,然後使用for循環將這些節點添加爲子節點,但是有沒有更簡單的方法呢?

回答

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

它不需要任何解析的。有一個XElement的深層副本,所以新舊文檔之間也沒有引用。