C#将根添加到XDocument

时间:2013-07-25 15:31:22

标签: c# xml xml-parsing linq-to-xml

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

<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>

我可以使用XDocument doc = XDocument.Parse(xmlString);

将xml字符串加载到XDocument中

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

2 个答案:

答案 0 :(得分:14)

XDocument yourResult = new XDocument(new XElement("Booklist", doc.Root));

答案 1 :(得分:7)

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

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