使用linq to xml将多个xml文件合并为一个

高塔姆G

说,这是我的XML文件

XML档案1

<Root>
    <Parent>
        <Child>1</Child>
        <child>2</Child>
    </Parent>
    <Parent>
         <child>3</Child>
         <Child>4</Child>
    </Parent>
 </Root>

Xml文件2

<Root>
    <Parent>
       <Child>5</Child>
       <Child>6</Child>
    </Parent>
    <Parent>
        <Child>7</Child>
        <Child>8</Child>
    </Parent>
 </Root>

结果XML文件(根据我的要求)

<Root>
    <Parent>
       <Child>1</Child>
       <Child>2</Child>
    </Parent>
    <Parent>
        <Child>3</Child>
        <Child>4</Child>
    </Parent>
    <Parent>
       <Child>5</Child>
       <Child>6</Child>
    </Parent>
    <Parent>
        <Child>7</Child>
        <Child>8</Child>
    </Parent>

 </Root>

在下面的函数中,我提供了要在字符串数组中组合并尝试合并它们的xml文件的路径。

private void BindDataInGrid(string[] argFilePaths)
{
    XDocument tempFile = XDocument.Load(argFilePaths[0]);

    for (int i = 1; i < argFilePaths.Length; i++)
    {
        tempFile.Descendants("Parent")
           .Union(XDocument.Load(argFilePaths[i]).Root.Descendants("Parent"));
    }
 }

在tempFile中,仅来自第一个文件的记录来自其他文件。

高塔姆G

首先,很抱歉我忘了提到我不想永久保存结果文件。我自己解决了。

private void BindDataInGrid(string[] argFilePaths)
{
    List<Parent> recordsList = new List<Parent>();

        for (int i = 0; i < argFilePaths.Length; i++)
        {
           recordsList.AddRange
               (
                     XDocument.Load(argFilePaths[i]).Root.Descendants("Resident")
                     .Select(data => new Parent()
                     {
                         Child1 = data.Element("Child1").Value,
                         Child2 = data.Element("Child2").Value,
                     }).ToList()
                );
        }
}

使用recordsList作为数据源。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何使用Nokogiri将基于ID的两个XML文件中的元素合并为一个?

使用Apache POI Java将多个excel文件合并为一个excel文件

使用与ABC中的文件B相同的行数将多个文件合并为一个

如何使用tcl将多个csv文件合并为一个csv文件

如何使用多线程将多个txt文件合并为一个txt文件?

沿日期对几个XML文件进行排序,然后使用XSLT将其合并为一个

使用NextJS时如何将多个JS文件合并为一个捆绑包?

使用GNU Make,如何将多个文件合并为一个?

使用PowerShell将多个CSV文件合并为一个

如何使用一个模块将多个打字稿定义文件合并为一个文件

如何使用Apache Camel Bindy将两个XML标签合并为一个XML

使用libxml与外部实体一起保存XML文件,而无需合并为一个

使用odo将巨大的h5文件与多个数据集合并为一个

使用一个键将多个文件合并为一个文件,然后使用perl重新排列各列。

使用python将2个文本文件合并为一个文件

如何使用SQL将两个或多个表合并为一个

使用列表理解将多个字典合并为一个统一的字典

使用AWK将两个CSV文件合并为一个

使用AWK将两个txt文件合并为一个,并添加缺少的项目

使用终端将大量文件合并为一个文件

是否可以使用 Pyarmor 将混淆文件合并为一个文件?

使用 gulp 将所有 scss 文件合并为一个 css 文件

JavaScript:使用Reduce方法将多个数组合并为一个数组

使用PHP将多个AJAX调用合并为一个

使用熊猫将多个数据框合并为一个

使用C#在运行时将多个接口合并为一个

使用Ransack和Rails 4将多个搜索表单结果合并为一个

使用通配符将多个变量合并为一个变量

将多个库合并为一个库时无法使用库函数