ciao ho un file asp che funge da xml ho questo problema devo fare il replace del carattere "&"
al momento faccio così:
nome1 = Replace((rs1("nome")), "&", "e")
però vorrei tenere la & come potrei fare?
:master:
ciao ho un file asp che funge da xml ho questo problema devo fare il replace del carattere "&"
al momento faccio così:
nome1 = Replace((rs1("nome")), "&", "e")
però vorrei tenere la & come potrei fare?
:master:
rimpiazzala con &
già fatto nada mi da sempre errore ... altre idee..Originariamente inviato da Domenix
rimpiazzala con &
o me la devo tenere così...![]()
codice:stringa = replace(stringa,"&","<![CDATA[&]]>")
gia provato anche questo nada ..Originariamente inviato da Domenix
codice:stringa = replace(stringa,"&","<![CDATA[&]]>")![]()
![]()
ciò che avrei detto anche io
il fatto però che non capisco
se asp genera un xml perché devi fare un replace???
questo è il file asp che mi fa da xml http://www.hotelfree.it/api/lista_punti.asp devo fare il replace perchè prelevo dati da db alcuni campi nome hanno la & ad esempio B&B e quindi devo fare il replace perchè mi da errore ...
Codice:
Codice PHP:<%Response.ContentType = "text/xml"%><?xml version="1.0" encoding="iso-8859-1"?>
<parks>
<%' punti relativi agli hotel /////////////////////////////////////////////////////////////////////////////////
Dim rs1,sqlmin,strxml,xml
Set rs1 = Server.CreateObject("ADODB.Recordset")
sqlmin="select * FROM hotel where visualizza=1 and latitudine IS NOT NULL and longitudine IS NOT NULL and paginadedicata IS NULL"
rs1.open sqlmin, adoCon, 3, 3
Do until rs1.eof
nome1 = Replace((rs1("nome")), "&", "e")
nome = replace(nome1, "'", "''")
via1 = Replace((rs1("via")), "&", "e")
via = replace(via1, "'", "''")
if rs1("img") <> "" then
img = "http://www.sito.it/sendbinary.asp?path=hotel_"&rs1("regione")&"/img/"&rs1("img")&""
else
img = "http://www.sito.it/sendbinary.asp?path=img/noimageb.gif"
end if
response.write "<park>"&VbCrLf
response.write "<point lng='"&rs1("longitudine")&"' lat='"&rs1("latitudine")&"'/>"&VbCrLf
response.write "<info tipo='hotel' fullname='"&ucase(nome)&"' url='http://www.sito.it/hotel_view.asp?id="&rs1("id")&"' indirizzo='"&via&"' provincia='"&rs1("provincia")&"' img='"&img&"' citta='"&rs1("citta")&"' camere='"&rs1("camere")&"' pmin='"&rs1("pzminimo")&"' pmax='"&rs1("pzmassimo")&"' stelle='"&rs1("stelle")&"' posizioneindicativa='"&rs1("posizioneindicativa")&"'/> "&VbCrLf
response.write "<icon image='http://www.sito.it/img/img_api/hotel_"&rs1("stelle")&".png' />"&VbCrLf
response.write "</park>"&VbCrLf
rs1.movenext
loop
rs1.close
set rs1 = nothing
adoCon.close
set adoCon = nothing
%>
</parks>
"i caratteri & e < sono ILLEGALI negli attributi"
quindi eliminali
oppure invece di fare attributi di un nodo fai sottonodi valorizzati con CDATA
---
sono però accettate le entità HTML
quindi ti basta fare
nome1 = Replace((rs1("nome")), "&", "&")
---
se ti da errore stampa qui l'xml generato che vediamo dove sta il problema
dimenticavo la causa probabile dell'errore
non serve a nulla duplicare gli apici
genera errore il parser
metti gli attributi in VIRGOLETTE invece che APICI
<test attr="ciao"></test>
e trasfrorma le virgolette presenti in &quot;
es:
<test attr="<%=replace(replace("ciao sono ""imente"" & Company","&","&amp;"),"""",""")%>"></test>
diventa
<test attr="ciao sono &quot;imente&quot; &amp; company"></test>
che è well-formed
non ho capito niente ...![]()
allora spetta ioho un nome nel mio campo esempio nome: l'idolo
e faccio così
per evitare di fa uscire errore ... come dovrei fare?Codice PHP:nome = replace(nome1, "'", "''")
![]()