Numéro incrémentiel pour certaines balises dans XML Notepad ++

Oct 21 2020

J'ai un fichier XML avec les données suivantes

<Shipment>
 <ShipmentReference>1453464536</ShipmentReference>
 <ShipmentCode>2020IE</ShipmentCode>
</Shipment>
<Shipment>
 <ShipmentReference>7896535784</ShipmentReference>
 <ShipmentCode>2020IE</ShipmentCode>
</Shipment>
<Shipment>
 <ShipmentReference>5674321985</ShipmentReference>
 <ShipmentCode>2020IE</ShipmentCode>
</Shipment>

Je veux savoir s'il est possible de modifier uniquement la balise avec une valeur numérique incrémentielle, quelque chose comme ci-dessous

<Shipment>
 <ShipmentReference>9999999001</ShipmentReference>
 <ShipmentCode>2020IE</ShipmentCode>
</Shipment>
<Shipment>
 <ShipmentReference>9999999002</ShipmentReference>
 <ShipmentCode>2020IE</ShipmentCode>
</Shipment>
<Shipment>
 <ShipmentReference>9999999003</ShipmentReference>
 <ShipmentCode>2020IE</ShipmentCode>
</Shipment>

Je ne sais pas si nous pouvons utiliser l'éditeur de colonnes

Appréciez toute aide

Merci

Réponses

2 help-info.de Oct 21 2020 at 15:41

Je recommande d'utiliser un script ici. Installez le plugin Notepad ++ Python Script et exécutez le script Python ci-dessous:

# ------------------------------------
# https://community.notepad-plus-plus.org/topic/15318/replace-text-with-incremented-counter
# Thanks to Scott Sumner for portions of this code 
# ------------------------------------
count = 9999999000

def calculate(m):
    global count
    count += 1
    return '<ShipmentReference>' + str(count) + '</ShipmentReference>'

editor.rereplace('<ShipmentReference>([0-9]+)</ShipmentReference>', calculate);