C# 使用LINQ将xml字符串插入xml元素
我想结合两个xml,其中一个是模板,另一个是数据,我如何才能做到这一点 XML一:C# 使用LINQ将xml字符串插入xml元素,c#,xml,linq,linq-to-xml,xelement,C#,Xml,Linq,Linq To Xml,Xelement,我想结合两个xml,其中一个是模板,另一个是数据,我如何才能做到这一点 XML一: <magazine> <content> <page no="1"></page> <page no="2"></page> <page no="3"></page> </content> </magazine> XML二: <data> &
<magazine>
<content>
<page no="1"></page>
<page no="2"></page>
<page no="3"></page>
</content>
</magazine>
XML二:
<data>
<page no="1">data1</Page>
<page no="2">data2</Page>
<page no="3">data3</Page>
</data>
数据1
数据2
数据3
Linq解决方案:
var content = XDocument.Load("content.xml")
.Root.Elements("page")
.ToDictionary(p => (int)p.Attribute("no"));
var xdoc = XDocument.Load("template.xml");
foreach (var page in xdoc.Descendants("page"))
{
XElement data;
if (!content.TryGetValue((int)page.Attribute("no"), out data))
continue;
page.ReplaceNodes(data.Nodes());
}
我想看看你尝试了什么,你期望的结果是什么。我如何做到这一点?使用XSLT。这篇文章可以帮助你,你可以展示你的codetanx来回复,但是我忘了说我的数据是xml,我想把xml插入xmlelement@mahdiyousefi没问题-您应该用页面内容的节点替换页面的节点。更新的解决方案