Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/13.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
从脚本调整XML配置文件_Xml_Configuration_Scripting - Fatal编程技术网

从脚本调整XML配置文件

从脚本调整XML配置文件,xml,configuration,scripting,Xml,Configuration,Scripting,我正在致力于自动配置几个JBoss服务器,这涉及到编辑大量XML文件 我希望尽可能多地编写所有这些更改的脚本。但是“标准”工具(sed、grep等)不能很好地处理XML。在不必求助于更高级语言的情况下,我如何编写脚本(例如,在特定文件中的给定XML元素之后插入给定的XML snipper) 例如,假设我的jboss-log4j.xml看起来像 <!-- ====================== --> <!-- More Appender examples --> &

我正在致力于自动配置几个JBoss服务器,这涉及到编辑大量XML文件

我希望尽可能多地编写所有这些更改的脚本。但是“标准”工具(sed、grep等)不能很好地处理XML。在不必求助于更高级语言的情况下,我如何编写脚本(例如,在特定文件中的给定XML元素之后插入给定的XML snipper)

例如,假设我的jboss-log4j.xml看起来像

<!-- ====================== -->
<!-- More Appender examples -->
<!-- ====================== -->

<!-- Buffer events and log them asynchronously -->
<appender name="ASYNC" class="org.apache.log4j.AsyncAppender">
  <errorHandler class="org.jboss.logging.util.OnlyOnceErrorHandler"/>
  <appender-ref ref="FILE"/>
  <!--
  <appender-ref ref="CONSOLE"/>
  <appender-ref ref="SMTP"/>
  -->
</appender>


我想添加一个新的appender ref元素。从脚本中实现这一点最简单的方法是什么?

通常我会通过编写XSL样式表并从脚本调用来实现这一点。

通常我会通过编写XSL样式表并从脚本调用来实现这一点。

NAnt,Ant的.NET近亲,在编辑非常复杂的WCF配置文件时,我使用了非常好的方法和任务。如果你能为Ant找到类似的任务,那么你可能会有一个赢家

或者,另一种方法可能是使用“模板”版本的配置文件,该文件包含%placeholders%,适合替换为更经典的文本处理工具之一


Thound-Ant有一个想法,可以在复制时用来转换文件,NAnt也有同样的概念,我最近使用它来很好地配置部署文件。

NAnt是Ant的.NET表亲,在编辑非常复杂的WCF配置文件时,我使用它完成了许多任务。如果你能为Ant找到类似的任务,那么你可能会有一个赢家

或者,另一种方法可能是使用“模板”版本的配置文件,该文件包含%placeholders%,适合替换为更经典的文本处理工具之一


Thound-Ant的想法是A,它可以在复制时用于转换文件,NAnt的概念与此相同,我最近使用它来有效地配置部署文件。

您将在我的文章中找到更多答案。似乎是最流行的答案。

您将在我的文章中找到更多答案。似乎是最流行的答案