我的comp.xml
文件包含
<project name="installer" >
<property name="workflow.list" >
BTCH.WF_BatchRequest_Process.BatchRating,
BTCH.WF_BatchRequest_Process.Invoice,
</property>
<property name="wfGroup.list" >
BTCH.WFG_BatchResPrep,
BTCH.WFG_BatchRes,
</property>
<target name="shutdown">
<echo>shutdown</echo>
</target>
</project>
我需要删除最后一次&#39;&#39;如果该逗号存在,则使用shell 在每个<property>
标记中使用逗号
所以它应该是:
<project name="installer" >
<property name="workflow.list" >
BTCH.WF_BatchRequest_Process.BatchRating,
BTCH.WF_BatchRequest_Process.Invoice
</property>
<property name="wfGroup.list" >
BTCH.WFG_BatchResPrep,
BTCH.WFG_BatchRes
</property>
<target name="shutdown">
<echo>shutdown</echo>
</target>
</project>
答案 0 :(得分:2)
如果您知道属性值将始终以<comma><newline>
结尾,则以下xslt适用于我(至少在您的样本数据上)。
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="@*|node()">
<xsl:copy>
<xsl:apply-templates select="@*|node()"/>
</xsl:copy>
</xsl:template>
<xsl:template match="property">
<xsl:copy>
<xsl:value-of select="substring(text(), 1, string-length(text()) - 2)"/><xsl:text>
</xsl:text>
</xsl:copy>
</xsl:template>
</xsl:stylesheet>
以上大多数只是identity transformation。剩下的就是property
元素和少量文本操作的匹配。