У меня есть некоторые XML, который выглядит так в каждом отчете:

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

В каждой ячейке мне нужно добавить:

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

Это займет у меня около недели, чтобы сделать вручную.

Есть ли инструмент, который мог бы сделать это?

Спасибо

2 ответа2

0

Трудно дать точный ответ без фактического примера ввода 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>

Вы можете запустить это с Xalan или Saxon из командной строки.

0

Вы можете попробовать XMLStarlet - редактор XML с открытым исходным кодом для командной строки.

Это позволяет, например, добавлять или обновлять узлы в документе XML. Какие узлы обновляются, может быть указано выражением XPath .

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .