将两个 xml 文件合并为一个的最快方法是什么

2023-11-26

如果我有两个字符串 xml1 和 xml2,它们都以相同的格式表示 xml。将这些结合在一起的最快方法是什么?格式并不重要,但我只是想知道如何摆脱 or ?

xml1 :

<?xml version="1.0" encoding="utf-8"?>
<AllNodes>
   <NodeA>
      <NodeB>test1</NodeB>
      <NodeB>test2</NodeB>
   </NodeA>
</AllNodes>

xm2 :

<?xml version="1.0" encoding="utf-8"?>
<AllNodes>
   <NodeA>
      <NodeB>test6</NodeB>
      <NodeB>test7</NodeB>
   </NodeA>
   <NodeA>
      <NodeB>test99</NodeB>
      <NodeB>test23</NodeB>
   </NodeA>
</AllNodes>

并有这样的东西:

<?xml version="1.0" encoding="utf-8"?>
    <AllNodes>
          <NodeA>
              <NodeB>test1</NodeB>
              <NodeB>test2</NodeB>
          </NodeA>
         <NodeA>
              <NodeB>test6</NodeB>
              <NodeB>test7</NodeB>
           </NodeA>
           <NodeA>
              <NodeB>test99</NodeB>
              <NodeB>test23</NodeB>
           </NodeA>
    </AllNodes>

最简单的方法是使用 LINQ to XML。您可以使用Union or Concat根据您的需求。

var xml1 = XDocument.Load("file1.xml");
var xml2 = XDocument.Load("file2.xml");

//Combine and remove duplicates
var combinedUnique = xml1.Descendants("AllNodes")
                          .Union(xml2.Descendants("AllNodes"));

//Combine and keep duplicates
var combinedWithDups = xml1.Descendants("AllNodes")
                           .Concat(xml2.Descendants("AllNodes"));
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将两个 xml 文件合并为一个的最快方法是什么 的相关文章

随机推荐

  • 如何在 条目中获取红色星号

    如何在条目中添加红色星号 以便可以将其显示在文本末尾以指示其为必填字段 例如 输入您的姓名 星号将为红色 或者 就此而言 文本中的任何位置 您无法通过 xml 字符串资源来做到这一点 这只能通过代码来完成 为此 您需要使用Spannable
  • 将 mysql 跳过网络设置为关闭

    我正在尝试设置我的 Ubuntu 12 10 服务器以接受远程 mysql 连接 但是我在将跳过网络设置为关闭时遇到困难 注意我已经将绑定地址设置为面向互联网的 IP 而不是 127 0 0 1 当我查看 etc mysql my conf
  • jQuery.parseJSON 与 JSON.parse

    jQuery parseJSON and JSON parse是执行相同任务的两个函数 如果 jQuery 库已经加载 将使用jQuery parseJSON比使用更好JSON parse 在性能方面 如果是 为什么 如果不是 为什么不呢
  • 如何使用 Python 高效解析电子邮件而不触及附件

    我正在使用 Python imaplib Python 2 6 从 GMail 获取电子邮件 我用方法获取电子邮件的所有内容http docs python org library imaplib html imaplib IMAP4 fe
  • CSS 悬停与 JavaScript 鼠标悬停 [关闭]

    Closed 这个问题是基于意见的 目前不接受答案 有时我需要选择使用 CSS element hover 还是 JavaScript onmouseover 来控制页面上 html 元素的外观 考虑以下场景 其中 div 包装输入 div
  • SVG 图像在 IE9 中不会被裁剪

    以下代码 div style border solid 1px black height 100px width 100px div
  • Scala:合并地图

    如何合并地图 如下所示 Map1 Map 1 gt Class1 1 2 gt Class1 2 Map2 Map 2 gt Class2 1 3 gt Class2 2 合并后 Merged Map 1 gt List Class1 1
  • 空列表到可见性转换器

    我正在尝试为 WPF 做一个 空列表到可见性转换器 这是一个 IValueConverter 它接受一个对象 应该是一个列表 如果列表为空 或者传递的对象为 null 它应该返回 Visibility Collapsed 如果列表不为空 则
  • 迄今为止的 Swift ISO8601 格式

    我有以下字符串 20180207T124600Z 如何将其转换为 Date 对象 这是我当前的代码 但它返回nil let dateString 20180207T124600Z let dateFormatter ISO8601DateF
  • Spring Web 响应式客户端

    我正在尝试使用 Spring Reactive WebClient 将文件上传到 spring 控制器 控制器非常简单 如下所示 PostMapping value upload consumes MediaType MULTIPART F
  • Azure DevOps REST api - 使用变量运行管道

    我在 Azure Devops 上有一个管道 我尝试使用 REST api 以编程方式 无头运行 https learn microsoft com en us rest api azure devops pipelines runs ru
  • 从嵌入 iframe 代码获取 YouTube 视频 ID

    我想使用 preg match 或正则表达式从 YouTube 嵌入代码获取 YouTube 视频 ID 举个例子 我要拿身份证0gugBiEkLwU 谁能告诉我该怎么做 真的很适合你的帮助 将此模式与捕获组一起使用应该会为您提供所需的字符
  • 我的 onNewIntent 没有调用

    创建一个集成 Twitter 的应用程序 我使用这个教程 http blog blundell apps com sending a tweet package com blundell tut ttt import android app
  • 访问事件以从源自标签 onclick 属性的自定义函数调用 Preventdefault

    我有这样的链接 a href a click a href a click 我想做一个preventDefault inside myfunc 因为一个 单击链接时将添加到地址栏中 不做return false or href javasc
  • C# 2010,ODP.net,调用存储过程传递数组

    我有一个需要 4 个输入的 PL SQL 存储过程 这些输入之一是关联数组 Oracle 类型 PLS INTEGER 索引的 VARCHAR2 1 表 我想要一个 C 程序 使用正确的输入 包括关联数组 调用此存储过程 我将 ODP ne
  • pip3 install PyQt5 --用户失败[重复]

    这个问题在这里已经有答案了 尝试通过 pip3 安装 PyQt5 时出现错误 自动消息要求我添加更多详细信息 但我没有 所有细节都在代码中 pip3 install PyQt5 user Collecting PyQt5 Retrying
  • 在 PHP 中包含整个目录或在 PHP Include 中使用通配符?

    我有一个 php 命令解释器 它位于命令目录内 需要访问命令文件中的每个命令 目前我对每个命令调用一次 require require once CommandA php require once CommandB php require
  • 将 minSdkVersion 从 16 更改为 26,版本 APK 大小从 17 MB 增加到 39 MB

    我有一个相对较小且简单的应用程序 它始终生成约 17 MB 的发布 APK 文件 不久前 我注意到 APK 大小增加到了惊人的 对于这个应用程序 39 MB 我追踪了导致它的更改 结果发现相同的代码库 唯一的更改是minSdkVersion
  • WPF MVVM TreeView 选定项

    这不可能这么困难 WPF中的TreeView不允许设置SelectedItem 说该属性是ReadOnly 我填充了 TreeView 甚至在数据绑定集合更改时进行更新 我只需要知道选择了什么项目 我正在使用 MVVM 因此没有代码隐藏或变
  • 将两个 xml 文件合并为一个的最快方法是什么

    如果我有两个字符串 xml1 和 xml2 它们都以相同的格式表示 xml 将这些结合在一起的最快方法是什么 格式并不重要 但我只是想知道如何摆脱 or xml1