Path: csiph.com!aioe.org!.POSTED!not-for-mail From: "Sauro" Newsgroups: it.comp.lang.visual-basic Subject: Re: [OT] file XML e caratteri "speciali" Date: Wed, 18 May 2016 23:06:58 +0200 Organization: Aioe.org NNTP Server Lines: 60 Message-ID: References: <1qbss6cykyztt$.z3peezv1lchx.dlg@40tude.net> <0kqojb1ahtpju1ra8dh2fn5mjlorle7tbh@4ax.com> NNTP-Posting-Host: tQu4DD9AKW1ioicGjEgBrg.user.gioia.aioe.org X-Complaints-To: abuse@aioe.org X-Notice: Filtered by postfilter v. 0.8.2 X-Newsreader: Microsoft Outlook Express 6.00.2900.5931 X-MSMail-Priority: Normal X-RFC2646: Format=Flowed; Original X-Priority: 3 X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.6157 Xref: csiph.com it.comp.lang.visual-basic:18810 "SB" ha scritto nel messaggio >> >>Public Function Testo_XML(ByVal T As String) As String >>T = Replace(T, "&", "&") >>T = Replace(T, "<", "<") >>T = Replace(T, ">", ">") >>T = Replace(T, Chr$(34), """) >>T = Replace(T, "'", "'") >>T = Replace(T, "à", "à") >>T = Replace(T, "é", "é") >>T = Replace(T, "è", "è") >>T = Replace(T, "ì", "ì") >>T = Replace(T, "ò", "ò") >>T = Replace(T, "ù", "ù") >>Testo_XML = T >>End Function > > In pratica vai a sostiture al carattere il valore ASCII > > Potresti generalizzare la funzione: > > Function Testo_XML (ByVal Ch As String) As String > > Testo_XML = Replace(Testo_XML, Ch, Chr(38) & "#" & Cstr (Asc(Ch)) &";" ) > > End Function > > Testo1 = Testo_XML(Testo1, "ù") > > > Non l'ho provata, è solo per darti uno spunto Scusa Stefano ma forse non hai centrato il problema al di là del fatto che la mia funzione possa essere scritta meglio. 1) XML rifiuta un certo numero di caratteri che, se presenti, vanno "mascherati" nel modo che abbiamo visto 2) Il carattere ° (gradi) non fa parte di questa serie di caratteri 3) Usando nel progetto vb6 il riferimento: Microsoft XML, v6.0 e quindi: Public xDOC As MSXML2.DOMDocument Set xDOC = New MSXML2.DOMDocument If xDOC.Load(XMLnomeFile) Then 'Va bene Else 'Da errore se è presente il carattere ° nel file End If 4) come si spiega? Ciao Stefano Sauro