用于向许多 xml 文件批量添加属性的工具?

用于向许多 xml 文件批量添加属性的工具?

我在每个报告中都有一些如下所示的 xml:

Header
Cell
/Cell
Cell
/Cell
...
/Header

在每个单元格中我需要添加:

                <property name="borderBottomColor">#E1E1E1</property>
                <property name="borderBottomStyle">solid</property>
                <property name="borderBottomWidth">thin</property>

我需要大约一周的时间来手动完成这一工作。

是否有工具可以做到这一点?

谢谢

答案1

你可以试试XMLStarlet- 一个开源的命令行 XML 编辑器。

例如,它允许您添加或更新 XML 文档中的节点。可以通过XPath表达。

答案2

如果没有实际的 XML 输入示例(以及完整的输出示例),很难给出准确的答案,但您可以使用 XSLT

XSLT 1.0

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    <xsl:output indent="yes"/>
    <xsl:strip-space elements="*"/>

    <xsl:template match="@*|node()">
        <xsl:copy>
            <xsl:apply-templates select="@*|node()"/>
        </xsl:copy>
    </xsl:template>

    <xsl:template match="Cell">
        <xsl:copy>
            <xsl:apply-templates select="@*|node()"/>           
            <property name="borderBottomColor">#E1E1E1</property>
            <property name="borderBottomStyle">solid</property>
            <property name="borderBottomWidth">thin</property>
        </xsl:copy>
    </xsl:template>

</xsl:stylesheet>

你可以用它运行沙兰或者撒克逊人从命令行。

相关内容