probabilmente l'opzione con il default namespace funziona solo da xmlstarlet 1.5. Se non puoi aggiornare il programma bisogna trovare un'altra soluzione ma ora come ora non sapreipiccolotauro2 [url=http://forum.ubuntu-it.org/viewtopic.php?p=4591021#p4591021][img]http://forum.ubuntu-it.org/images/icons/icona-cita.gif[/img][/url] ha scritto:Codice: Seleziona tutto
[root@localhost apache-tomcat-6.0.39]# xmlstarlet --version 1.3.1 compiled against libxml2 2.7.6, linked with 20706 compiled against libxslt 1.1.26, linked with 10126 [root@localhost apache-tomcat-6.0.39]#
[bash] verifica e inserimento stringa in un file
- tomm
- Scoppiettante Seguace

- Messaggi: 796
- Iscrizione: lunedì 15 ottobre 2007, 10:16
- Desktop: Gnome
- Distribuzione: Ubuntu 16.04
Re: [bash] verifica e inserimento stringa in un file
-
piccolotauro2
- Prode Principiante
- Messaggi: 40
- Iscrizione: martedì 13 maggio 2014, 11:52
Re: [bash] verifica e inserimento stringa in un file
Grazie.
Ma riguardo il discorso sotto ti viene in mente qualcosa?
grazie
Il mio obiettivo è dato un xml con:
<Realm className=testo1>
ottenere un xml con:
<Realm className=testo1>
<Realm className=testo attributo2=testo2>
Ma riguardo il discorso sotto ti viene in mente qualcosa?
grazie
Il mio obiettivo è dato un xml con:
<Realm className=testo1>
ottenere un xml con:
<Realm className=testo1>
<Realm className=testo attributo2=testo2>
- tomm
- Scoppiettante Seguace

- Messaggi: 796
- Iscrizione: lunedì 15 ottobre 2007, 10:16
- Desktop: Gnome
- Distribuzione: Ubuntu 16.04
Re: [bash] verifica e inserimento stringa in un file
xmlstarlet implementa xpath che è un linguaggio per interrogare xml molto potente. Se devi continuare a lavorare con xml non puoi fare a meno di studiarti bene il linguaggio xpath. Puoi cominciare qui: http://www.w3schools.com/XPath/
Nel caso specifico, puoi cercare il nodo che ti interessa con questa sintassi:
Nel caso specifico, puoi cercare il nodo che ti interessa con questa sintassi:
questo ti inserisce l'attributo solo al nodo /Server/Service/Engine/Realm che contiene l'attibuto className='testo2'xmlstarlet ed -L -i "/Server/Service/Engine/Realm[@className='testo2']" -t attr -n attributo2 -v testo2 server.xml
-
piccolotauro2
- Prode Principiante
- Messaggi: 40
- Iscrizione: martedì 13 maggio 2014, 11:52
Re: [bash] verifica e inserimento stringa in un file
xmlstarlet ed -L -i "/Server/Service/Engine/Realm[@className='testo2']" -t attr -n attributo2 -v testo2 server.xml
il problema è proprio questo....il className='testo2' lo devo creare
o meglio ne deve creare un altro perché già c'è className=testo1
quando creo un nuovo className=testo2 io vorrei:
<Realm className=testo1/>
<Realm className=testo2/>
mentre lui mi crea
<Realm className=testo 1 className=testo2>
e non c'è modo di non farglielo creare nuovo e non aggiornarlo
il problema è proprio questo....il className='testo2' lo devo creare
o meglio ne deve creare un altro perché già c'è className=testo1
quando creo un nuovo className=testo2 io vorrei:
<Realm className=testo1/>
<Realm className=testo2/>
mentre lui mi crea
<Realm className=testo 1 className=testo2>
e non c'è modo di non farglielo creare nuovo e non aggiornarlo
- tomm
- Scoppiettante Seguace

- Messaggi: 796
- Iscrizione: lunedì 15 ottobre 2007, 10:16
- Desktop: Gnome
- Distribuzione: Ubuntu 16.04
Re: [bash] verifica e inserimento stringa in un file
Ma ti sei studiato xpath come ti avevo consigliato?
Comunque così crei un nuovo nodo:
Comunque così crei un nuovo nodo:
e così aggiorni solo il nodo che non ha ancora l'attributo.xmlstarlet ed -L --subnode "/Server/Service/Engine" --type elem -n Realm -v "" server.xml
nota la sintassi intuitiva: Realm[not(@className)]xmlstarlet ed -L -i "/Server/Service/Engine/Realm[not(@className)]" -t attr -n className -v testo3 server.xml
-
piccolotauro2
- Prode Principiante
- Messaggi: 40
- Iscrizione: martedì 13 maggio 2014, 11:52
Re: [bash] verifica e inserimento stringa in un file
la avevo trovata su un sito questa sintassi...ma da me non funziona
l'elemento lo creo ma poi il className non me lo inserisce
a questo punto mi viene il dubbio che possa essere la versione di xmlstarlet
grazie comunque di tutto
l'elemento lo creo ma poi il className non me lo inserisce
a questo punto mi viene il dubbio che possa essere la versione di xmlstarlet
grazie comunque di tutto
-
piccolotauro2
- Prode Principiante
- Messaggi: 40
- Iscrizione: martedì 13 maggio 2014, 11:52
Re: [bash] verifica e inserimento stringa in un file
rettifico funziona:)
Chi c’è in linea
Visualizzano questa sezione: 0 utenti iscritti e 3 ospiti