Discussione:
Caratteri riservati su XML
(troppo vecchio per rispondere)
gio
2016-07-18 13:42:35 UTC
Permalink
Salve a tutti
sto generanndo un file Xml, da inviare come riposta ad una request di
web Service di tipo SOAP ; dal momento che può capitare che
all'interno delle varie stringhe ci siano caratteri come "<" ">" ed
altri che sono riservati, avevo pensato bene di sostuirli con &lt; &gt;
ecc .. tutto Ok se non che ho notato, che facendo dei test con SOAP UI,
quest'ultimo , mi sostituisce a sua volta la & ad esempio di &lt; con
&amp; e di consequenza invece di ritrovarmi &lt; mi ritrovo (nella
rispota di SOAP UI) &amp;lt; .
domanda : quali sono le regole/convenzioni in questi casi, chi risponde
deve sostuire tali caratteri riservati, oppure chi legge la risposta
deve fare questa operazione ?
spero di essermi spiegato

saluti e grazie in anticipo
--
gio
Roberto Tempesti
2016-07-18 13:49:15 UTC
Permalink
Post by gio
Salve a tutti
sto generanndo un file Xml, da inviare come riposta ad una request di
web Service di tipo SOAP ; dal momento che può capitare che
all'interno delle varie stringhe ci siano caratteri come "<" ">" ed
ecc .. tutto Ok se non che ho notato, che facendo dei test con SOAP UI,
quest'ultimo , mi sostituisce a sua volta la & ad esempio di &lt; con
&amp; e di consequenza invece di ritrovarmi &lt; mi ritrovo (nella
rispota di SOAP UI) &amp;lt; .
domanda : quali sono le regole/convenzioni in questi casi, chi risponde
deve sostuire tali caratteri riservati, oppure chi legge la risposta
deve fare questa operazione ?
spero di essermi spiegato
saluti e grazie in anticipo
Puoi usare la tag "<![CDATA[]]>" serve a dire che tutto cio' che risiede
all'interno delle parentesi quadre interne, e' da considerare come
unica stringa senza controllare l'eventuale presenza di caratteri speciali.
stefano[dot]tassi[at]dedagroup[dot]it
2016-07-18 13:58:05 UTC
Permalink
Post by Roberto Tempesti
Post by gio
Salve a tutti
sto generanndo un file Xml, da inviare come riposta ad una request di
web Service di tipo SOAP ; dal momento che può capitare che
all'interno delle varie stringhe ci siano caratteri come "<" ">" ed
ecc .. tutto Ok se non che ho notato, che facendo dei test con SOAP UI,
quest'ultimo , mi sostituisce a sua volta la & ad esempio di &lt; con
&amp; e di consequenza invece di ritrovarmi &lt; mi ritrovo (nella
rispota di SOAP UI) &amp;lt; .
domanda : quali sono le regole/convenzioni in questi casi, chi risponde
deve sostuire tali caratteri riservati, oppure chi legge la risposta
deve fare questa operazione ?
spero di essermi spiegato
saluti e grazie in anticipo
Puoi usare la tag "<![CDATA[]]>" serve a dire che tutto cio' che risiede
all'interno delle parentesi quadre interne, e' da considerare come
unica stringa senza controllare l'eventuale presenza di caratteri speciali.
questo senz'altro;

L'alternativa è _non_scrivere_ l'xml a manina, meglio un tool come questo:

https://sourceforge.net/projects/xmli/


HTH
Ciao
--
http://www.linkedin.com/in/stefanotassi


Programming today is a race between software engineers striving to
build bigger and better idiotproof programs, and the Universe trying
to produce bigger and better idiots. So far the Universe is winning.
(Rick Cook)
Roberto Tempesti
2016-07-18 14:25:00 UTC
Permalink
Post by stefano[dot]tassi[at]dedagroup[dot]it
questo senz'altro;
https://sourceforge.net/projects/xmli/
HTH
Ciao
Grazie Stefano, ottima segnalazione!!
Obelix
2016-07-18 13:59:40 UTC
Permalink
Post by gio
Salve a tutti
sto generanndo un file Xml, da inviare come riposta ad una request di
web Service di tipo SOAP ; dal momento che può capitare che
all'interno delle varie stringhe ci siano caratteri come "<" ">" ed
ecc .. tutto Ok se non che ho notato, che facendo dei test con SOAP UI,
quest'ultimo , mi sostituisce a sua volta la & ad esempio di &lt; con
&amp; e di consequenza invece di ritrovarmi &lt; mi ritrovo (nella
rispota di SOAP UI) &amp;lt; .
Mi pare che il non-problema sia che SoapUi lo facci agia' per cui non
devi farlo tu, n'est c'e' pas???
Post by gio
domanda : quali sono le regole/convenzioni in questi casi, chi risponde
deve sostuire tali caratteri riservati, oppure chi legge la risposta
deve fare questa operazione ?
Tu converti i caratteri in tag, e poi ch i legge converte le tag in
caratteri: di solito, dovrebeb'arrangiarsi' il programma di conversione,
o quantomeno, avere un'APi acconcia..
Roberto Tempesti
2016-07-18 14:31:48 UTC
Permalink
Post by Obelix
Tu converti i caratteri in tag, e poi ch i legge converte le tag in
caratteri: di solito, dovrebeb'arrangiarsi' il programma di conversione,
o quantomeno, avere un'APi acconcia..
Il problema nasce quando il developer del Web Service non ti mette a
disposizione un'API "acconcia".
Un esempio e' GLS (il corriere espresso) il quale vuole che i dati della
spedizione siano inseriti tutti all'interno di un'unica voce "Data" con
formattazione XML ma con tipo di dato "String", in questo caso c'e' poco
da fare, o usi CDATA o ti sbatti con &lt e &gt a go-go.

Loading...