C#将根添加到XDocument

NMu*_*nro 7 c# xml linq-to-xml xml-parsing

我有一个包含XML的字符串,让我们这样说:

<Novels> 
 <Book>
  <Title>Cat in hat</Title>
  <Price>12</Price>
 </Book>
</Novels>
Run Code Online (Sandbox Code Playgroud)

我想制作一个如下所示的XDocument:

<Booklist>
 <Novels> 
  <Book>
   <Title>Cat in hat</Title>
   <Price>12</Price>
  </Book>
 </Novels>
</Booklist>
Run Code Online (Sandbox Code Playgroud)

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

如何在新根目录下加载文档.我可以想到用我想要的根创建一个新的XDocument,然后使用for循环将节点添加为子节点,但是有更简单的方法吗?

It'*_*ie. 15

XDocument yourResult = new XDocument(new XElement("Booklist", doc.Root));
Run Code Online (Sandbox Code Playgroud)


Mar*_*zek 7

var doc = new XDocument(new XElement("Booklist", source.Root));
Run Code Online (Sandbox Code Playgroud)

它根本不需要任何解析.有一个XElement的深层副本,因此旧文档和新文档之间也没有引用.