通过命令行修改XML

Iga*_*nik 8 .net xml xslt command-line linq-to-xml

我正在寻找一种更好的方法来修补XML(实际上是app.config文件).更具体地说,我需要在<appConfig>部分(可能不存在)中添加一些内容,以及<bindingRedirect>匹配条目的几个元素.

我还需要它作为命令行工具,以便于部署.

我想过以几种方式解决这个问题:

  1. 使用LINQ to XML修补文件的临时控制台应用程序 - 最简单
  2. 使用XSLT - 保存修改后的XML的副本,稍后替换原始版本(除非可以就地转换源XML?)
  3. 然而,使用XML Diff和Patch,似乎所产生的diffgram指的是精确的节点位置,例如<xd:node match="1">等.

ad-hoc解决方案是最简单的,但我觉得它有点作弊.我不太了解XSLT,但这听起来像是最好的解决方案......

在您看来,什么是"工作的最佳工具?"

Dim*_*hev 4

您可以将以下 XSLT 命令行实用程序用于 Microsoft XSLT 处理器:

  1. msxsl.exe(已经存在近 10 年了)。使用 MSXML 执行转换(可以指定不同的版本)。

  2. Oleg Tkachenko用于 XslCompiledTransform 的 nxslt.exe 命令行实用程序 —— 这是Mvp.Xml项目的一部分。