Creare file xml

mercoledì 04 dicembre 2013 - 16.53

tigre Profilo | Junior Member

Ho una pagina che mi crea un file xml selezionado da delle check (80).
Sul mio pc in locale funziona,
sul server no, mi da questo errore:

È previsto un valore letterale stringa, ma non sono state trovate virgolette aperte. Errore durante l'elaborazione della ri...
<font face="Arial" size=2>

se seleziono meno chek funziona....
Da che cosa dipende????

alx_81 Profilo | Guru

>se seleziono meno chek funziona....
>Da che cosa dipende????
Riesci a postare un po' di codice? Così è dura aiutarti.
ciao
Alessandro Alpi | SQL Server MVP
MCP|MCITP|MCTS|MCT

http://blogs.dotnethell.it/suxstellino
http://suxstellino.wordpress.com
http://mvp.microsoft.com/profiles/Alessandro.Alpi

tigre Profilo | Junior Member

Buongiorno,
prima cerco i dati con una query, poi scrivo questo:


response.ContentType = "text/xml"
Response.AddHeader "content-disposition", "attachment; filename=estrazione_"&elenco&".xml"
XML = "<?xml version='1.0' encoding='UTF-8' standalone='yes' ?>" & chr(13)&chr(10)

poi

rs.open sql,connectionB,3,3
XML = XML & "<prospetto xmlns:xsi='http://www.w3.org/2001/xmlschema-istance'>" & chr(13)&chr(10)

riempio i tag e poi:

Response.Buffer = true
Response.write xml
Response.Flush
Response.End



alx_81 Profilo | Guru

a prescindere dal problema, il chr() lo puoi anche evitare alla fine, se è formato, basta sparare un xml.. l'invio a che ti serve?

> rs.open sql,connectionB,3,3
>XML = XML & "<prospetto xmlns:xsi='http://www.w3.org/2001/xmlschema-istance'>"
>& chr(13)&chr(10)
queste operazioni non hanno niente di che.. l'errore lo prendi quando "riempi i tag"? Credo sia quella la parte che ci interessa? Dove ti viene notificato l'errore? Su che parte del codice?
Alessandro Alpi | SQL Server MVP
MCP|MCITP|MCTS|MCT

http://blogs.dotnethell.it/suxstellino
http://suxstellino.wordpress.com
http://mvp.microsoft.com/profiles/Alessandro.Alpi

tigre Profilo | Junior Member

questo è il codice:
response.ContentType = "text/xml"
Response.AddHeader "content-disposition", "attachment; filename=estrazione_"&COMPENSO&".xml"
XML = "<?xml version='1.0' encoding='UTF-8' standalone='yes' ?>" & chr(13)&chr(10)
rs.open sql,connection20,3,3
XML = XML & "<competenze xmlns:xsi='http://www.w3.org/2001/xmlschema-istance'>" & chr(13)&chr(10)


do until rs.eof
XML = XML & "<accessorieF>" & chr(13)&chr(10)
XML = XML & "<codice>"&codice&"</codice>" & chr(13)&chr(10)'CODICE FISCALE DIPEND 16
XML = XML & "<iscrizione />" & chr(13)&chr(10)
XML = XML & "<tipoCo>"&compenso&"</tipoCo>" & chr(13)&chr(10)
XML = XML & "<annoLiquid>"&anno_liquidazione&"</annoLiquid>" & chr(13)&chr(10)

XML = XML & "<meseLiquidazione>"&mese_liquidazione&"</meseLiquidazione>" & chr(13)&chr(10)
XML = XML & "<annoCompetenza>"&anno_competenza&"</annoCompetenza>" & chr(13)&chr(10) XML = XML & "<meseCompetenza>"&mese_competenza&"</meseCompetenza>" & chr(13)&chr(10) 'STRAORD. MAGGIO
XML = XML & "<imponPensionistico>"&imponibile_pensionistico&"</imponPensionistico>" & chr(13)&chr(10)
XML = XML & "<ritP>0</ritP>" & chr(13)&chr(10)
XML = XML & "<contribA>0</contribA>" & chr(13)&chr(10)
XML = XML & "<imponF>0</imponF>" & chr(13)&chr(10)
XML = XML & "<ritF>0</ritF>" & chr(13)&chr(10)
XML = XML & "<imponI>0</imponI>" & chr(13)&chr(10)
XML = XML & "<contribA>0</contribA>" & chr(13)&chr(10)
XML = XML & "<imponO>0</imponO>" & chr(13)&chr(10)
XML = XML & "<ritDipO>0</ritDipO>" & chr(13)&chr(10)
XML = XML & "<ritAmmO>0</ritAmmO>" & chr(13)&chr(10)
XML = XML & "<imponD>0</imponD>" & chr(13)&chr(10)
XML = XML & "<ritD>0</ritD>" & chr(13)&chr(10
XML = XML & "<imponAC>0</imponAC>" & chr(13)&chr(10
XML = XML & "<irpefAC>0</irpefAC>" & chr(13)&chr(10)
XML = XML & "<irpefS>0</irpefS>" & chr(13)&chr(10
XML = XML & "<imponAP>0</imponAP>" & chr(13)&chr(10 )
XML = XML & "<irpefSospesaAP>0</irpefSospesaAP>" & chr(13)&chr(10)
XML = XML & "<impL>0</impL>" & chr(13)&chr(10
XML = XML & "<ritFin2010>0</ritFin2010>" & chr(13)&chr(10
XML = XML & "<ritFin2010oltre150000>0</ritFin2010oltre150000>" & chr(13)&chr(10)
XML = XML & "</accessorieF>" & chr(13)&chr(10)
end if
rs.movenext
loop
XML = XML & "</competenze>" & chr(13)&chr(10)

Response.Buffer = true
Response.write xml
Response.Flush
Response.End

alx_81 Profilo | Guru

>questo è il codice:
Quando fai concatenazione, devi stare attendo che i campi che vai ad inserire non abbiano apici singole o doppie, altrimenti la concatenazione salta.
Hai controllato, prima di creare l'xml, i valori che ti arrivano nelle variabili?
A mio avviso potrebbe essere che alcune di esse abbiano il carattere APICE o DOPPIO APICE al loro interno. In quel caso, dovrai fare una replace, o comunque una gestione della problematica.
Alessandro Alpi | SQL Server MVP
MCP|MCITP|MCTS|MCT

http://blogs.dotnethell.it/suxstellino
http://suxstellino.wordpress.com
http://mvp.microsoft.com/profiles/Alessandro.Alpi

tigre Profilo | Junior Member

io il valore lo prelevo cosi;
imponibile_pensionistico=replace(imponibile_pensionistico,".","")
imponibile_pensionistico=replace(imponibile_pensionistico,",",".")

alx_81 Profilo | Guru

>io il valore lo prelevo cosi;
>imponibile_pensionistico=replace(imponibile_pensionistico,".","")
>imponibile_pensionistico=replace(imponibile_pensionistico,",",".")
quelle replace sono di punti e di virgole.
Il problema è che secondo me per certe variabili stringa, al loro interno, hai proprio l'apice o il doppio apice e devi fare pulizia di quelle cose, altrimenti la concatenazione salta.
Devi, ad esempio fare il replace dell'apice con apice-apice, e del doppio apice con doppio apice-doppio apice..
Oppure trova tu la regola (se puoi rimuoverle, rimuovile).
Il concetto è che se in una concatenazione vbscript (che poi è il linguaggio di scripting di asp classic) metti apici o doppie apici, salta tutto il parsing.

Alessandro Alpi | SQL Server MVP
MCP|MCITP|MCTS|MCT

http://blogs.dotnethell.it/suxstellino
http://suxstellino.wordpress.com
http://mvp.microsoft.com/profiles/Alessandro.Alpi

tigre Profilo | Junior Member

NON HO apici,
ho solo il codic fiscale e basta, tr l'altro se lo lancio dalla mia macchina 127.0.0.1 funziona,
se metto l'indirizzo del server non funziona. mi da quell'errore.

alx_81 Profilo | Guru

>NON HO apici,
non c'è bisogno che alzi la voce. L'errore è chiaro, in un certo momento una stringa non si chiude, quindi vuol dire che è stata riaperta.
Ora, la stringa potrebbe rimanere aperta per:
- un'apice o un doppio apice al suo interno
- una troncatura da qualche parte

>ho solo il codic fiscale e basta, tr l'altro se lo lancio dalla
>mia macchina 127.0.0.1 funziona,
>se metto l'indirizzo del server non funziona. mi da quell'errore.
se in locale va, significa che i dati locali sono puliti e che le stringhe non sono troncate.
Quindi, fossi in te cercherei di capire cosa ti arriva come dati, altrimenti non so aiutarti diversamente.
Come sempre, invito a non scaldarsi, perchè la gente che risponde, sta cercando di aiutarti nel tempo libero che trova.
Grazie.

Alessandro Alpi | SQL Server MVP
MCP|MCITP|MCTS|MCT

http://blogs.dotnethell.it/suxstellino
http://suxstellino.wordpress.com
http://mvp.microsoft.com/profiles/Alessandro.Alpi

tigre Profilo | Junior Member

scusa ma non è che alzo la voce...
non mi ero accorto che era inserita la maiuscola.
controllo, ma i dati vengono prelavati da un database, ho copiato i dati del database sul server su una tabella
uguale sul mio pc.
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2025
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5