使用 PowerShell 2.0 将多个 XML 文件合并为一个?

2024-01-12

我有一个非常大的 XML 文件的目录,其结构如下:

文件1.xml:

<root>
 <EmployeeInfo attr="one" />
 <EmployeeInfo attr="two" />
 <EmployeeInfo attr="three" />
</root>

文件2.xml:

<root>
 <EmployeeInfo attr="four" />
 <EmployeeInfo attr="five" />
 <EmployeeInfo attr="six" />
</root>

现在我正在寻找一种简单的方法将这些文件 (*.xml) 文件合并到一个输出文件中:

<root>
 <EmployeeInfo attr="one" />
 <EmployeeInfo attr="two" />
 <EmployeeInfo attr="three" />
 <EmployeeInfo attr="four" />
 <EmployeeInfo attr="five" />
 <EmployeeInfo attr="six" />
</root>

我正在考虑使用纯 XSLT,如下所示:

<xsl:transform version="1.0" 
  xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  <xsl:template match="/">
    <Container>
      <xsl:copy-of select="document('file1.xml')"/>
      <xsl:copy-of select="document('file2.xml')"/>        
    </Container>
  </xsl:template>
</xsl:stylesheet>

这可行,但没有我想要的那么灵活。作为 PowerShell(版本 2)的新手,渴望学习在 PowerShell 中使用 XML 的新最佳实践,我想知道什么是最简单、最纯粹的PowerShell方式将 XML 文档的结构合并为一个?

干杯, 乔金


虽然执行此操作的 XSLT 方法非常简短,但 PowerShell 方法也很短:

$finalXml = "<root>"
foreach ($file in $files) {
    [xml]$xml = Get-Content $file    
    $finalXml += $xml.InnerXml
}
$finalXml += "</root>"
([xml]$finalXml).Save("$pwd\final.xml")

希望这可以帮助,

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 PowerShell 2.0 将多个 XML 文件合并为一个? 的相关文章

随机推荐

  • 给定一个日期如何获取该周的星期日和星期六

    我想获取提供日期的一周中的星期日和星期六 我只能访问以下功能 getDate 返回 0 6 之间的数字 0 表示星期日 getDay 返回 1 31 之间的数字 getMonth 返回 0 11 之间的数字 getFullYear 返回当前
  • 如何在 Android NDK Revision 11 中在 gcc 和 clang 之间切换?

    我正在使用带有 NDK 修订版 11 的 Android studio 1 5 1 该版本声明 NDK 中的 GCC 现已弃用 取而代之的是 Clang 我需要在 clang 和 gcc 之间切换并自定义标志 但是应用程序的配置以及使用 A
  • 使用Powershell安装系统字体

    我有一个文件夹 里面装满了自定义字体的 TTF 文件 我需要使用 powershell 脚本将它们安装为系统字体 这是在 Windows Server 2008 R2 上 有人知道如何在 powershell 中做到这一点吗 谢谢 这很简单
  • 从 HttpClient.GetStringAsync 读取响应

    我正在使用 Windows Phone Store 应用程序的新运行时开发 Windows 通用应用程序 我使用以下代码向服务器发送请求 并期望返回 HTML 响应 但是 当我返回字符串并将其显示在 UI 中时 它只是说 System Th
  • 印地语到英语音译[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 有没有一个可以将印地语音译成英语的Python库 例如 应转换为 khaya 我所知道的不太蹩脚的转码器是散文 https githu
  • 填充数组时检查重复项

    我有一个数组 其中填充了 6 个随机生成的数字 首先 它生成一个 1 到 49 之间的随机数 然后将其与数组中的数字进行检查 如果发现重复 则应再次生成随机数 然后再次执行检查 如果没有重复项 则将该数字添加到数组中 这是代码 public
  • git hunk 编辑模式 - 如何删除“-”行?

    bbb aaa To remove lines make them lines context To remove lines delete them Lines starting with will be removed If the p
  • 正则表达式负向前瞻

    我需要修改这个正则表达式 href 与此匹配 href pothole locator map aspx lang en gb lat 53 153977 lng 3 533306 为了不匹配这个 href pothole locator
  • hibernate 5 + ZonedDateTime + postgresql 包括时区和偏移量

    我有一个正在运行的应用程序 spring boot 1 3 hibernate 5 java 8 ZonedDateTime postgresql 在其中一个表中我有以下字段 Column name DATE ENABLED Type ty
  • 您能想到 .NET 中具有同步上下文的事件模式吗?

    主要问题是 从一个线程引发事件可以调用只能在特定线程上下文中调用的委托 做了一些研究后这个问题 https stackoverflow com questions 10466022 how to raise a static event t
  • Pandas 映射到一个新列,SettingWithCopyWarning [重复]

    这个问题在这里已经有答案了 在 pandas 数据框中 我尝试映射 df old column 应用用户定义的函数f为每一行创建一个新列 df new column df old column map lambda x f x 这将给出 S
  • Getter、Setter 和属性最佳实践。 Java 与 C#

    我现在正在上 C 课程 我正在努力找出最好的做事方式 我有 Java 背景 所以我只熟悉 Java 最佳实践 我是 C 新手 在 Java 中 如果我有私有财产 我会这样做 private String name public void s
  • file_get_contents 抛出 400 Bad Request 错误 PHP

    我只是用一个file get contents 获取来自用户的最新推文 如下所示 tweet json decode file get contents http api twitter com 1 statuses user timeli
  • python imshow 灰度静态颜色值

    我知道使用 matplotlib pyplot 的 imshow 给了我一个很好的草图 可以用来可视化矩阵 我的问题是 当我想要可视化矩阵时 该函数会根据我传递的值调整颜色密度 例如 define a numpy matrix with v
  • 如何在 Go 中使用双星 glob?

    这好像是Go是少数几种似乎不理解文件通配符双星 globstar 语法的语言之一 至少这似乎没有按预期工作 filepath Glob dir bundle txt 我是否遗漏了一些关于filepath执行 周围有支持这个的库吗 The f
  • 使用 git 应用 diff 文件

    所以我试图将 diff 文件应用到我的 git dev 分支 我想应用的差异是这里的 https github com mbabker joomla cms compare JHtml move patch https github com
  • 了解 webrtc 转储

    我从下载了转储chrome webrtc internals 现在我想从这些数据中理解并绘制一些图表以显示数据包丢失和转储中包含的其他内容 我可以看到其中的图表chrome webrtc internals只是 但我想自己做这些事情 并在过
  • 当匹配有效时,简单术语查询不能与弹性一起使用

    我在 Elastic 中有一个如下所示的 JSON 对象 source version 1 object id f1dcae27 7a6f 4fea b540 901c09b60a15 object name testFileName fo
  • 从 Git 存储库中删除所有标签

    我想从 Git 存储库中删除所有标签 我怎样才能做到这一点 Using git tag d tagname删除标签tagname本地 并使用git push tags我更新了 git 提供者上的标签 I tried git tag d 但我
  • 使用 PowerShell 2.0 将多个 XML 文件合并为一个?

    我有一个非常大的 XML 文件的目录 其结构如下 文件1 xml