10

我有一个包含 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>

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

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

4

2 回答 2

20
XDocument yourResult = new XDocument(new XElement("Booklist", doc.Root));
于 2013-07-25T15:32:44.250 回答
8
var doc = new XDocument(new XElement("Booklist", source.Root));

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

于 2013-07-25T15:33:34.340 回答