Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用LINQ将xml字符串插入xml元素_C#_Xml_Linq_Linq To Xml_Xelement - Fatal编程技术网

C# 使用LINQ将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> &

我想结合两个xml,其中一个是模板,另一个是数据,我如何才能做到这一点

XML一:

<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没问题-您应该用页面内容的节点替换页面的节点。更新的解决方案