Strumento per l'aggiunta di massa di proprietà a molti file XML?


0

Ho alcuni xml che assomigliano a questo in ogni rapporto:

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

In ogni cella devo aggiungere:

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

Mi ci vorrà circa una settimana per fare manualmente.

C'è uno strumento che potrebbe farlo?

Grazie


Che ne dici di usare il tuo editor preferito (vim, emacs, ...) e una macro personalizzata?
Marco,

Risposte:


0

Puoi provare XMLStarlet - un editor XML da riga di comando open source.

Ad esempio, consente di aggiungere o aggiornare nodi in un documento XML. Quali nodi vengono aggiornati possono essere specificati da un'espressione XPath .


0

È difficile dare una risposta esatta senza l'input XML di esempio effettivo (e un esempio di output completo), ma è possibile utilizzare 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>

Puoi eseguirlo con Xalan o Saxon dalla riga di comando.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.