我需要测试我最近制作的软件增强功能。为此,我需要在56个xml加载器文件中进行1000次更改(总共56,000次)。具体来说,我需要更改以下内容:
</users>
</service>
进入这个
</users>
<rules>
<ruleid="13e77ade-f15c-433f-aac8-2fdaf2d867a5" />
</rules>
<temprestriction />
</service>
我可以对56个文件中的每一个进行查找/替换,但这将是乏味的。有没有一种很好的方法来自动化这个过程?提前谢谢。
答案 0 :(得分:2)
与评论中提到的@ConradFrix类似:您可以使用不同的工具/方法来解决此问题。
这是一个基于XSLT的解决方案。代码未经过广泛测试。
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output indent="yes" method="xml" encoding="utf-8" omit-xml-declaration="yes"/>
<xsl:template match="node() | @*" name="identity">
<xsl:copy>
<xsl:apply-templates select="node() | @*"/>
</xsl:copy>
</xsl:template>
<xsl:template match="service/*[last()][self::users]">
<xsl:call-template name="identity"/>
<rules>
<rule id="13e77ade-f15c-433f-aac8-2fdaf2d867a5" />
</rules>
<temprestriction />
</xsl:template>
</xsl:stylesheet>
要点:1)使用身份模板递归复制文档的节点2)单独的模板,以便在<users>
元素之后添加新元素(如果它是<service>
元素的最后一个子元素。