Número incremental para certas tags no XML Notepad ++

Oct 21 2020

Eu tenho um arquivo XML com os seguintes dados

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

Quero saber se é possível editar apenas tag com valor numérico incremental, algo como abaixo

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

Não tenho certeza se podemos usar o Editor de Colunas

Agradeço qualquer ajuda

obrigado

Respostas

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

Eu recomendo usar um script aqui. Instale o plug-in Notepad ++ Python Script e execute o script Python abaixo:

# ------------------------------------
# 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);