Petit shell pour mettre à jour un fichier XML

Le
David BERCOT
--Sig_TQ4gvBoVuGBUvVZAXrZoc/l
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

Bonjour,

Je souhaiterais modifier une partie d'un fichier XML :
<entry>
<attribute>connectiontype</attribute>
<value>proxy</value>
</entry>
En fait, je voudrais juste modifier la partie <value>.

J'ai déjà fait ça pour des paramètres sur une ligne ave=
c des grep -v.
Mais là, il s'agit d'un ensemble de 4 lignes et je dois reconnaît=
re que
je sèche un peu.
Je me suis dit que je pouvais faire un head -n (jusqu'à la ligne
<value> exclue), puis rajouter ma ligne <value> et compléter ensuite
avec un tail -n (à partir de </entry>). Mais si le nombre de lignes
change, je suis cuit ;-)

Bref, quelqu'un aurait-il une petite idée ?

Merci d'avance.

David.

--Sig_TQ4gvBoVuGBUvVZAXrZoc/l
Content-Type: application/pgp-signature; name=signature.asc
Content-Disposition: attachment; filename=signature.asc

--BEGIN PGP SIGNATURE--
Version: GnuPG v1.4.6 (GNU/Linux)

iD8DBQFGl5uOvSnthbGI8ygRAnbOAKCgvTcbugiILIiOKVZyKcmqh+2u4QCcDeUH
q+1SdWqmZuMWnpcPT5RJX2s=
=kKui
--END PGP SIGNATURE--

--Sig_TQ4gvBoVuGBUvVZAXrZoc/l--


--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to debian-user-french-REQUEST@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
fra-duf-no-spam
Le #9578791
--=-=- Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable

Le 13707ième jour après Epoch,
David BERCOT écrivait:

Bonjour,

Je souhaiterais modifier une partie d'un fichier XML :
<entry>
<attribute>connectiontype</attribute>
<value>proxy</value>
</entry>
En fait, je voudrais juste modifier la partie <value>.

J'ai déjà fait ça pour des paramètres sur une ligne a vec des grep -v.
Mais là, il s'agit d'un ensemble de 4 lignes et je dois reconnaà ®tre que
je sèche un peu.



xslt est ton ami, dans ce cas. C'est carrément plus adapté.

--=-=- Content-Type: application/pgp-signature

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (GNU/Linux)

iD8DBQFGl55TjaoyFt0zqSURAharAKCctEOdBKk9vR0j1/kDUm7gmH/M2wCgma71
hZjC7oDOht1GTvnmBG+OT9w =t6KJ
-----END PGP SIGNATURE-----
--=-=-=--


--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
David BERCOT
Le #9578771
--Sig_5.7QpHFC6_=UF1PKI57663O
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

Le Fri, 13 Jul 2007 17:46:24 +0200,
(François TOURDE) a écrit :
Le 13707ième jour après Epoch,
David BERCOT écrivait:

> Bonjour,
>
> Je souhaiterais modifier une partie d'un fichier XML :
> <entry>
> <attribute>connectiontype</attribute>
> <value>proxy</value>
> </entry>
> En fait, je voudrais juste modifier la partie <value>.
>
> J'ai déjà fait ça pour des paramètres sur une ligne avec des grep
> -v. Mais là, il s'agit d'un ensemble de 4 lignes et je dois
> reconnaître que je sèche un peu.

xslt est ton ami, dans ce cas. C'est carrément plus adapté.



Pourquoi pas ;-) Mais aurais-tu un petit exemple ?
C'est vraiment pour un paramètre tout simple que je dois modifier à  
chaque boot, alors j'ai besoin d'une solution simple...
xslt, c'est pas un peu gros pour faire ça ?

Merci d'avance.

David.

--Sig_5.7QpHFC6_=UF1PKI57663O
Content-Type: application/pgp-signature; name=signature.asc
Content-Disposition: attachment; filename=signature.asc

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (GNU/Linux)

iD8DBQFGl6SPvSnthbGI8ygRAt0NAJ4k9x16zO1qep/6ALDB8M5KgP4R1gCgy0++
VDA9QGYxM6T5gWPr7vn5bUA pH
-----END PGP SIGNATURE-----

--Sig_5.7QpHFC6_=UF1PKI57663O--


--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
Jeremy Garrouste
Le #9578751
------=_Part_37572_3060054.1184344708616
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline

un petit sed devrait suffire

On 7/13/07, David BERCOT

Le Fri, 13 Jul 2007 17:46:24 +0200,
(François TOURDE) a écrit :
> Le 13707ième jour après Epoch,
> David BERCOT écrivait:
>
> > Bonjour,
> >
> > Je souhaiterais modifier une partie d'un fichier XML :
> > <entry>
> > <attribute>connectiontype</attribute>
> > <value>proxy</value>
> > </entry>
> > En fait, je voudrais juste modifier la partie <value>.
> >
> > J'ai déjà fait ça pour des paramètres sur une ligne avec des grep
> > -v. Mais là, il s'agit d'un ensemble de 4 lignes et je dois
> > reconnaître que je sèche un peu.
>
> xslt est ton ami, dans ce cas. C'est carrément plus adapté.

Pourquoi pas ;-) Mais aurais-tu un petit exemple ?
C'est vraiment pour un paramètre tout simple que je dois modifier à
chaque boot, alors j'ai besoin d'une solution simple...
xslt, c'est pas un peu gros pour faire ça ?

Merci d'avance.

David.






--
Jeremy GARROUSTE

------=_Part_37572_3060054.1184344708616
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline

un petit sed devrait suffire Le Fri, 13 Jul 2007 17:46:24 +0200, &gt; &gt; Bonjour,<br>&gt; &gt;<br>&gt; &gt; Je souhaiterais modifier une p artie d&#39;un fichier XML :<br>&gt; &gt;&nbsp;&nbsp;&nbsp;&nbsp;&lt;entry& gt;<br>&gt; &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;attribute&gt;conne ctiontype&lt;/attribute&gt;<br>&gt; &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp ; &lt;value&gt;proxy&lt;/value&gt;

------=_Part_37572_3060054.1184344708616--


--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
fra-duf-no-spam
Le #9578671
--=-=- Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable

Le 13707ième jour après Epoch,
David BERCOT écrivait:

Le Fri, 13 Jul 2007 17:46:24 +0200,
(François TOURDE) a écrit :
Le 13707ième jour après Epoch,
David BERCOT écrivait:

> Bonjour,
>
> Je souhaiterais modifier une partie d'un fichier XML :
> <entry>
> <attribute>connectiontype</attribute>
> <value>proxy</value>
> </entry>
> En fait, je voudrais juste modifier la partie <value>.
>
> J'ai déjà fait ça pour des paramètres sur une lign e avec des grep
> -v. Mais là, il s'agit d'un ensemble de 4 lignes et je dois
> reconnaître que je sèche un peu.

xslt est ton ami, dans ce cas. C'est carrément plus adapté.



Pourquoi pas ;-) Mais aurais-tu un petit exemple ?



Euh.... Pioche :)

En fait, j'en ai pas trop sous la main mais je pense que sur le net tu
devrais pouvoir trouver des exemples basiques.

C'est vraiment pour un paramètre tout simple que je dois modifier à
chaque boot, alors j'ai besoin d'une solution simple...
xslt, c'est pas un peu gros pour faire ça ?



Ben c'est à toi de voir, mais pour manipuler le XML tout en étant sûr
de pas rater des cas tordus, ça me semble l'idéal par rapport à  
awk/sed/portnawak

--
Les petits lits font les grandes maîtresses.
-+- Pierre Perret -+-

--=-=- Content-Type: application/pgp-signature

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (GNU/Linux)

iD8DBQFGl9CTjaoyFt0zqSURAo8CAJ9gE37+oQS8gAyo7qYDS3P2F8V/UwCfRBJE
Xlvucz0qgJSZwLjnq1g/J4o =ESKM
-----END PGP SIGNATURE-----
--=-=-=--


--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
David BERCOT
Le #9578651
--Sig_i8/G7=zaAbbi1EKvHFIrwKR
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

Le Fri, 13 Jul 2007 18:38:28 +0200,
"Jeremy Garrouste"
un petit sed devrait suffire



En effet, une ligne de sed a suffit !!!

Merci beaucoup.

David.

P.S. : pour xslt, je garde ça pour des traitements plus complexes ;-)

On 7/13/07, David BERCOT >
> Le Fri, 13 Jul 2007 17:46:24 +0200,
> (François TOURDE) a écrit :
> > Le 13707ième jour après Epoch,
> > David BERCOT écrivait:
> >
> > > Bonjour,
> > >
> > > Je souhaiterais modifier une partie d'un fichier XML :
> > > <entry>
> > > <attribute>connectiontype</attribute>
> > > <value>proxy</value>
> > > </entry>
> > > En fait, je voudrais juste modifier la partie <value>.
> > >
> > > J'ai déjà fait ça pour des paramètres sur une l igne avec des
> > > grep -v. Mais là, il s'agit d'un ensemble de 4 lignes et je do is
> > > reconnaître que je sèche un peu.
> >
> > xslt est ton ami, dans ce cas. C'est carrément plus adapté.
>
> Pourquoi pas ;-) Mais aurais-tu un petit exemple ?
> C'est vraiment pour un paramètre tout simple que je dois modifier à
> chaque boot, alors j'ai besoin d'une solution simple...
> xslt, c'est pas un peu gros pour faire ça ?
>
> Merci d'avance.
>
> David.



--Sig_i8/G7=zaAbbi1EKvHFIrwKR
Content-Type: application/pgp-signature; name=signature.asc
Content-Disposition: attachment; filename=signature.asc

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (GNU/Linux)

iD8DBQFGl/hdvSnthbGI8ygRAo/UAKCwMU2kbvzpENg+FrxFhc9a+O3D3gCgwfvj
71YfGOuUVDag64o6ms7cLE0 =cLA5
-----END PGP SIGNATURE-----

--Sig_i8/G7=zaAbbi1EKvHFIrwKR--


--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
David BERCOT
Le #9578071
--Sig_ZDKdfME34M_R1++93zxbiX9
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

Le Mon, 16 Jul 2007 12:03:29 +0200,
Thomas Clavier
David BERCOT a écrit :
> Bref, quelqu'un aurait-il une petite idée ?

xmlstarlet ? ça permet de manipuler du xml en ligne de commande

mais apt-cache est plus bavard on trouve entre autre :
apt-cache search xml command line

xml-twig-tools - Command line tools for processing XML documents
xmlsec1 - XML security command line processor
xmlstarlet - command line XML toolkit
xsltproc - XSLT command line processor



Merci. Je stocke ça pour un autre besoin futur un peu plus complexe ;-)

David.

--Sig_ZDKdfME34M_R1++93zxbiX9
Content-Type: application/pgp-signature; name=signature.asc
Content-Disposition: attachment; filename=signature.asc

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (GNU/Linux)

iD8DBQFGm16vvSnthbGI8ygRAt53AJ9pMHG02xtu1HxnTOrbQizJstfgewCgjCqO
p0sjnGDVcVP8WVLORsv5cOg =jXkI
-----END PGP SIGNATURE-----

--Sig_ZDKdfME34M_R1++93zxbiX9--


--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
Publicité
Poster une réponse
Anonyme