• Programma per editare .xml

    From Aladino@2:221/10 to All on Tue May 17 18:35:07 2022
    From: Aladino <borgobello-NO@SPAM-alice.it>

    Mi servirebbe un programma che permetta di editare un .xml (48K righe), recercando automaticamente una chiave contenente un numero tra 0 e 100,
    e quando la trova (ce n' circa una ogni 5 righe), mi aggiunga un'altra
    chiave con la differenza tra 100 ed il valore della chiave trovata. Per
    il resto, l'xml non deve essere modificato. Esiste gi qualcosa del
    genere?

    --
    Per contattarmi, togliere -NOSPAM- dall'indirizzo.
    To contact me, remove -NOSPAM- from address.

    ---
    * Origin: rbb.fidonet.fi - the fidonet nntp junction (2:221/10)
  • From acc@2:221/10 to All on Tue May 17 19:31:26 2022
    From: acc <email@farlocca.it>

    Il 17/05/2022 18:35, Aladino ha scritto:
    Mi servirebbe un programma che permetta di editare un .xml (48K righe), recercando automaticamente una chiave contenente un numero tra 0 e 100,
    e quando la trova (ce n'è circa una ogni 5 righe), mi aggiunga un'altra chiave con la differenza tra 100 ed il valore della chiave trovata. Per
    il resto, l'xml non deve essere modificato. Esiste già qualcosa del
    genere?

    Aladi', magna tranquillo. ;-)

    ---
    * Origin: rbb.fidonet.fi - the fidonet nntp junction (2:221/10)
  • From ObiWan@2:221/10 to All on Wed May 18 09:07:16 2022
    From: ObiWan <obiwan@mvps.org>

    :: On Tue, 17 May 2022 18:35:07 +0200
    :: (it.comp.os.win.windows10)
    :: <1ps43jl.11agqewa06yo0N%borgobello-NO@SPAM-alice.it>
    :: borgobello-NO@SPAM-alice.it (Aladino) wrote:

    Mi servirebbe un programma che permetta di editare un .xml (48K
    righe), recercando automaticamente una chiave contenente un numero
    tra 0 e 100, e quando la trova (ce n'è circa una ogni 5 righe), mi

    https://microsoft.github.io/XmlNotepad/

    ---
    * Origin: rbb.fidonet.fi - the fidonet nntp junction (2:221/10)
  • From Trex su Win 10@2:221/10 to All on Wed May 18 11:56:00 2022
    From: Trex su Win 10 <real_trexQUESTO-NO@libero.ot>

    Il 17/05/2022 18:35, Aladino ha scritto:
    Mi servirebbe un programma che permetta di editare un .xml (48K righe), recercando automaticamente una chiave contenente un numero tra 0 e 100,
    e quando la trova (ce n'è circa una ogni 5 righe), mi aggiunga un'altra chiave con la differenza tra 100 ed il valore della chiave trovata. Per
    il resto, l'xml non deve essere modificato. Esiste già qualcosa del
    genere?


    E' da parecchio che non seguo più la programmazione, ma credo che a te
    serva qualcosa che accetti espressioni booleane, non un semplice editor
    con trova/sostituisci. E non ho idea se potresti risolvere in automatico
    anche con qualcosa del genere...
    A memoria, per windows, potrei consigliarti di provare notepad++ (che ovviamente edita anche gli .xml). Però voglio godere del beneficio d'inventario :-)



    --
    __________________________________________

    Merely Job: http://www.sergiotressino.it/
    Leisure: http://trextrips.altervista.org/ __________________________________________

    ---
    * Origin: rbb.fidonet.fi - the fidonet nntp junction (2:221/10)
  • From Aladino@2:221/10 to ObiWan on Wed May 18 11:59:01 2022
    From: Aladino <borgobello-NO@SPAM-alice.it>

    ObiWan <obiwan@mvps.org> wrote:

    https://microsoft.github.io/XmlNotepad/
    E con questo si possono ricercare automaticamente dei tag, aggiungerne
    di nuovi dopo quelli trovati, con valori calcolati a partire dal tag
    trovato?

    --
    Per contattarmi, togliere -NOSPAM- dall'indirizzo.
    To contact me, remove -NOSPAM- from address.

    ---
    * Origin: rbb.fidonet.fi - the fidonet nntp junction (2:221/10)
  • From ObiWan@2:221/10 to All on Wed May 18 12:00:21 2022
    From: ObiWan <obiwan@mvps.org>

    :: On Wed, 18 May 2022 11:56:00 +0200
    :: (it.comp.os.win.windows10)
    :: <t62frj$l92$1@dont-email.me>
    :: Trex su Win 10 <real_trexQUESTO-NO@libero.ot> wrote:

    E' da parecchio che non seguo più la programmazione, ma credo che a
    te serva qualcosa che accetti espressioni booleane, non un semplice
    editor con trova/sostituisci. E non ho idea se potresti risolvere in automatico anche con qualcosa del genere...
    A memoria, per windows, potrei consigliarti di provare notepad++ (che ovviamente edita anche gli .xml). Però voglio godere del beneficio d'inventario :-)

    Notepad++ potrebbe funzionare, ma si dovranno usare le regexp nel
    dialogo "find/replace"

    ---
    * Origin: rbb.fidonet.fi - the fidonet nntp junction (2:221/10)
  • From ObiWan@2:221/10 to All on Wed May 18 12:03:00 2022
    From: ObiWan <obiwan@mvps.org>

    :: On Wed, 18 May 2022 11:59:01 +0200
    :: (it.comp.os.win.windows10)
    :: <1ps5a56.11ao8f57tpdggN%borgobello-NO@SPAM-alice.it>
    :: borgobello-NO@SPAM-alice.it (Aladino) wrote:

    ObiWan <obiwan@mvps.org> wrote:

    https://microsoft.github.io/XmlNotepad/

    E con questo si possono ricercare automaticamente dei tag, aggiungerne
    di nuovi dopo quelli trovati, con valori calcolati a partire dal tag
    trovato?

    https://microsoft.github.io/XmlNotepad/#help/find/

    ---
    * Origin: rbb.fidonet.fi - the fidonet nntp junction (2:221/10)
  • From Aladino@2:221/10 to real_trexQUESTO-NO@libero.ot on Wed May 18 12:11:44 2022
    From: Aladino <borgobello-NO@SPAM-alice.it>

    Trex su Win 10 <real_trexQUESTO-NO@libero.ot> wrote:

    E' da parecchio che non seguo pi la programmazione, ma credo che a te
    serva qualcosa che accetti espressioni booleane, non un semplice editor
    con trova/sostituisci. E non ho idea se potresti risolvere in automatico anche con qualcosa del genere...
    Il problema il calcolo del valore per differenza. Trovare i tag e
    sostituirli con </tagtrovato>+<ritornoacapo>+<nuovotag></nuovotag> non
    sarebbe un problema. Ci vuole qualsoa di pi specifico, che sappia
    riconoscere il valore e sopratutto fare un calcolo (per quanto banale
    sia il calcolo, non conosco i valori da inserire, che in buona parte
    sono differenti tra loro)

    A memoria, per windows, potrei consigliarti di provare notepad++ (che ovviamente edita anche gli .xml). Per voglio godere del beneficio d'inventario :-)
    Ce l'ho. Ma c' sempre il problema del calcolo.

    Probabilmente ci vuole qualcosa di pi specifico, un editor xml che
    riconosca i tag ed i valori, e sia in grado di applicarci delle
    funzioni.

    --
    Per contattarmi, togliere -NOSPAM- dall'indirizzo.
    To contact me, remove -NOSPAM- from address.

    ---
    * Origin: rbb.fidonet.fi - the fidonet nntp junction (2:221/10)
  • From Aladino@2:221/10 to ObiWan on Wed May 18 12:30:55 2022
    From: Aladino <borgobello-NO@SPAM-alice.it>

    ObiWan <obiwan@mvps.org> wrote:

    https://microsoft.github.io/XmlNotepad/#help/find/
    Mi risulta che: "regex cannot do math"

    --
    Per contattarmi, togliere -NOSPAM- dall'indirizzo.
    To contact me, remove -NOSPAM- from address.

    ---
    * Origin: rbb.fidonet.fi - the fidonet nntp junction (2:221/10)
  • From ObiWan@2:221/10 to All on Wed May 18 14:27:31 2022
    From: ObiWan <obiwan@mvps.org>

    :: On Wed, 18 May 2022 12:11:44 +0200
    :: (it.comp.os.win.windows10)
    :: <1ps5g1c.1o39xc27kwj95N%borgobello-NO@SPAM-alice.it>
    :: borgobello-NO@SPAM-alice.it (Aladino) wrote:

    Trovare i tag e sostituirli con </tagtrovato>+<ritornoacapo>+<nuovotag></nuovotag> non sarebbe un

    bella fesseria, se vuoi veramente lavorare con XML butta giù due righe
    di codice in un qualsiasi linguaggio decente che abbia un parser XML ed
    a quel punto fai quello che vuoi, altro che "ritorno a capo" (che tra
    l'altro per i tag XML non ha alcun senso)

    bah :P

    ---
    * Origin: rbb.fidonet.fi - the fidonet nntp junction (2:221/10)
  • From RobertoA@2:221/10 to All on Wed May 18 15:48:52 2022
    From: RobertoA <amorosik@tiscalinet.it>

    Il 18/05/2022 12:30, Aladino ha scritto:
    ObiWan <obiwan@mvps.org> wrote:

    https://microsoft.github.io/XmlNotepad/#help/find/
    Mi risulta che: "regex cannot do math"


    Excel

    ---
    * Origin: rbb.fidonet.fi - the fidonet nntp junction (2:221/10)
  • From ObiWan@2:221/10 to All on Wed May 18 16:02:22 2022
    From: ObiWan <obiwan@mvps.org>

    :: On Wed, 18 May 2022 15:48:52 +0200
    :: (it.comp.os.win.windows10)
    :: <t62tg5$sg6$1@gioia.aioe.org>
    :: RobertoA <amorosik@tiscalinet.it> wrote:

    Il 18/05/2022 12:30, Aladino ha scritto:
    ObiWan <obiwan@mvps.org> wrote:

    https://microsoft.github.io/XmlNotepad/#help/find/
    Mi risulta che: "regex cannot do math"


    Excel

    già... solo che poi, quando vai a salvare ...

    ---
    * Origin: rbb.fidonet.fi - the fidonet nntp junction (2:221/10)
  • From Archaeopteryx@2:221/10 to All on Wed May 18 17:51:26 2022
    From: Archaeopteryx <cor.bonukFANCULOSPAM@libero_NOMAIL_.it>

    [SoupGate killed MIME-encoded file 00000002.ATT (1321 bytes)]

    ---
    * Origin: rbb.fidonet.fi - the fidonet nntp junction (2:221/10)
  • From ObiWan@2:221/10 to All on Wed May 18 18:22:49 2022
    From: ObiWan <obiwan@mvps.org>

    :: On Wed, 18 May 2022 17:51:26 +0200
    :: (it.comp.os.win.windows10)
    :: <t634lv$jjp$1@gioia.aioe.org>
    :: Archaeopteryx <cor.bonukFANCULOSPAM@libero_NOMAIL_.it> wrote:

    Esiste un porting di parecchi comandi linux su windows,
    l'ho usato in passato per problemi simili anche se non
    così complessi come il tuo.

    WSL

    https://docs.microsoft.com/en-us/windows/wsl/install

    ma non credo ci sia bisogno di quello, il problema si può risolvere
    anche con powershell (per quanto non mi piaccia)

    ---
    * Origin: rbb.fidonet.fi - the fidonet nntp junction (2:221/10)
  • From Archaeopteryx@2:221/10 to All on Wed May 18 19:12:52 2022
    From: Archaeopteryx <cor.bonukFANCULOSPAM@libero_NOMAIL_.it>

    [SoupGate killed MIME-encoded file 00000002.ATT (447 bytes)]

    ---
    * Origin: rbb.fidonet.fi - the fidonet nntp junction (2:221/10)
  • From Aladino@2:221/10 to ObiWan on Wed May 18 20:58:18 2022
    From: Aladino <borgobello-NO@SPAM-alice.it>

    ObiWan <obiwan@mvps.org> wrote:

    Excel

    gi... solo che poi, quando vai a salvare ...
    Infatti. Gi preso in considerazione e lasciato perdere. Tra l'altro le sequenze dei tag non regolare.

    --
    Per rispondere, togliere -NOSPAM- dall'indirizzo.

    ---
    * Origin: rbb.fidonet.fi - the fidonet nntp junction (2:221/10)
  • From Aladino@2:221/10 to Archaeopteryx on Wed May 18 20:58:24 2022
    From: Aladino <borgobello-NO@SPAM-alice.it>

    Archaeopteryx <cor.bonukFANCULOSPAM@libero_NOMAIL_.it> wrote:

    Se non risolvi con qualcosa di pi semplice io credo che
    potresti fare la domanda sul gruppo linux, cercare questo
    porting (ora non ricordo come si chiama), installarlo e
    provare.
    Sul computer con cui lavoro abitualmente, ho sia delle macchine virtuali Windows, sia macOS e sia Linux. La soluzione mi va bene su qualsiasi
    sistema.

    --
    Per rispondere, togliere -NOSPAM- dall'indirizzo.

    ---
    * Origin: rbb.fidonet.fi - the fidonet nntp junction (2:221/10)
  • From Aladino@2:221/10 to Aladino on Thu May 19 08:56:50 2022
    From: Aladino <borgobello-NO@SPAM-alice.it>

    Aladino <borgobello-NO@SPAM-alice.it> wrote:

    La soluzione mi va bene su qualsiasi sistema.
    P.S. Per sed sembra incepparsi sui caratteri speciali presenti nel
    testo.

    --
    Per contattarmi, togliere -NOSPAM- dall'indirizzo.
    To contact me, remove -NOSPAM- from address.

    ---
    * Origin: rbb.fidonet.fi - the fidonet nntp junction (2:221/10)
  • From ObiWan@2:221/10 to All on Thu May 19 09:34:13 2022
    From: ObiWan <obiwan@mvps.org>

    :: On Tue, 17 May 2022 18:35:07 +0200
    :: (it.comp.os.win.windows10)
    :: <1ps43jl.11agqewa06yo0N%borgobello-NO@SPAM-alice.it>
    :: borgobello-NO@SPAM-alice.it (Aladino) wrote:

    Mi servirebbe un programma che permetta di editare un .xml (48K
    righe), recercando automaticamente una chiave contenente un numero
    tra 0 e 100, e quando la trova (ce n'è circa una ogni 5 righe), mi
    aggiunga un'altra chiave con la differenza tra 100 ed il valore della
    chiave trovata. Per il resto, l'xml non deve essere modificato.
    Esiste già qualcosa del genere?

    puoi partire dal codice VBS sotto e modificarlo per elaborare il file
    XML come desiderato e poi salvarlo


    '
    ' xmltest.vbs
    '

    Dim xmlFile
    Dim root
    Dim xmlDoc
    Dim child
    Dim indent

    xmlFile = "D:\test\xmltest.xml"

    indent=0

    Set xmlDoc = createXmlDomDocument(xmlDoc)
    xmlDoc.async = False
    xmlDoc.validateOnParse=False
    xmlDoc.load xmlFile
    If xmlDoc.parseError.errorcode = 0 Then
    treeWalk(xmlDoc)
    printf(vbCrLf)
    Else
    printf("There was an error in : " & xmlFile &"</P><P>Line: " & _
    xmlDoc.parseError.line & vbCrLf & _
    "Column: " & xmlDoc.parseError.linepos)
    End If


    Sub printf(sTxt)
    WScript.StdOut.Write sTxt
    End Sub

    Function createXmlDomDocument(xd)
    On Error Resume Next

    Set xd = CreateObject("MSXML2.DOMDocument.6.0")
    If (IsObject(xd) = False) Then
    MsgBox "DOM document not created. " & _
    "Check MSXML version used in createXmlDomDocument."
    Else
    Set createXmlDomDocument = xd
    End If
    End Function

    Function attributeWalk(node)
    For i=1 to indent
    printf(" ")
    Next
    For Each attrib In node.attributes
    printf("|--")
    printf(attrib.nodeTypeString)
    printf(":")
    printf(attrib.name)
    printf("--")
    printf(attrib.nodeValue)
    printf(vbCrLf)
    Next
    End Function

    Function treeWalk(node)
    Dim nodeName

    indent=indent+2
    For Each child In node.childNodes
    For i=1 to indent
    printf(" ")
    Next
    printf("|--")
    printf(child.nodeTypeString)
    printf("--")
    If child.nodeType<3 Then
    printf(child.nodeName)
    printf(vbCrLf)
    End If
    If (child.nodeType=1) Then
    If (child.attributes.length>0) Then
    indent=indent+2
    attributeWalk(child)
    indent=indent-2
    End If
    End If
    If (child.hasChildNodes) Then
    treeWalk(child)
    Else
    printf child.text
    printf(vbCrLf)
    End If
    Next
    indent=indent-2
    End Function


    ---
    * Origin: rbb.fidonet.fi - the fidonet nntp junction (2:221/10)
  • From Aladino@2:221/10 to ObiWan on Thu May 19 11:03:37 2022
    From: Aladino <borgobello-NO@SPAM-alice.it>

    ObiWan <obiwan@mvps.org> wrote:

    puoi partire dal codice VBS sotto e modificarlo per elaborare il file
    XML come desiderato e poi salvarlo

    Grazie. Prover a studiarmelo, ma non sembra il Visual Basic che
    ricordavo io... e sono veramente anni che ci metto mano (probabilmente
    dai tempi di Windows 3.x).

    --
    Per contattarmi, togliere -NOSPAM- dall'indirizzo.
    To contact me, remove -NOSPAM- from address.

    ---
    * Origin: rbb.fidonet.fi - the fidonet nntp junction (2:221/10)
  • From Aladino@2:221/10 to ObiWan on Thu May 19 11:37:37 2022
    From: Aladino <borgobello-NO@SPAM-alice.it>

    ObiWan <obiwan@mvps.org> wrote:

    un pezzo di vbscript (vbs), per provarlo ti basta salvarlo come xmltest.vbs, cambiare il percorso ed il nome file specificato in
    "xmlFile" all'inizio e poi, dal prompt lanciarlo con
    Ecco, fino qui ci ero arrivato. E ho fatto.

    cscript //nologo xmltest.vbs
    Qui no...
    Comunque al momento si ferma con un errore "Handle non valido" alla riga
    30, che secondo Notepad++ (non sono sicuro se il messaggio di errore
    tiene conto anche delle righe vuote, e pertanto c' corrispondenza):

    WScript.StdOut.Write sTxt

    lo script carica il file usando il parser XML DOM nativo e poi fa il
    dump dello stesso a video, senza modificarlo

    Per editare il file, ti consiglio questo editor

    https://www.vbsedit.com/
    Prover. Per intanto ho fatto con Notepad++

    dato che ha anche "intellisense"
    Cio?


    --
    Per contattarmi, togliere -NOSPAM- dall'indirizzo.
    To contact me, remove -NOSPAM- from address.

    ---
    * Origin: rbb.fidonet.fi - the fidonet nntp junction (2:221/10)
  • From Enrico Bianchi@2:221/10 to ObiWan on Fri May 20 16:25:04 2022
    From: Enrico Bianchi <enrico.bianchi@ymail.com>

    On 2022-05-19, ObiWan <obiwan@mvps.org> wrote:

    puoi partire dal codice VBS sotto e modificarlo per elaborare il file
    XML come desiderato e poi salvarlo

    Bel lavoro (che conferma quanto dico in giro da parecchio tempo[1]), ma credo che con Powershell si faccia in molte meno righe:

    $xml = [xml]'
    <office>
    <staff branch="Hanover" Type="sales">
    <employee>
    <Name>Tobias Weltner</Name>
    <function>management</function>
    <age>39</age>
    </employee>
    <employee>
    <Name>Cofi Heidecke</Name>
    <function>security</function>
    <age>4</age>
    </employee>
    </staff>
    </office>
    '

    # $xml=New-Object XML
    # $xml.Load("FE6Work.xml")

    $nodes=$xml.SelectNodes("/office/staff")
    foreach($node in $nodes) {
    $node.SetAttribute("site", "1");
    }
    $xml.Save("FE6Work_new.xml")

    Enrico ;)
    [1] agli amministratori Windows Powershell non serviva. Solo che quelli che lo sapevano erano troppo, troppo pochi

    ---
    * Origin: rbb.fidonet.fi - the fidonet nntp junction (2:221/10)
  • From news@tin.it.NO@2:221/10 to All on Sun May 22 10:15:02 2022
    From: news@tin.it.NO <News@tin.it>

    "Aladino" <borgobello-NO@SPAM-alice.it> ha scritto nel messaggio news:1ps43jl.11agqewa06yo0N%borgobello-NO@SPAM-alice.it...
    Mi servirebbe un programma che permetta di editare un .xml (48K righe), recercando automaticamente una chiave contenente un numero tra 0 e 100,
    e quando la trova (ce n' circa una ogni 5 righe), mi aggiunga un'altra chiave con la differenza tra 100 ed il valore della chiave trovata. Per
    il resto, l'xml non deve essere modificato. Esiste gi qualcosa del
    genere?

    puoi provare awk oppure sed, le utility di linux
    lo trovi su sourceforge gnuwin32
    C:\Programmi\GnuWin32
    magari funziona anche su Win10.

    ---
    * Origin: rbb.fidonet.fi - the fidonet nntp junction (2:221/10)