Xdocument.parse e caratteri speciali

lunedì 11 luglio 2011 - 13.05
Tag Elenco Tags  C#  |  .NET 3.5  |  .NET 4.0

cicemoi Profilo | Junior Member

Salve,
sto procedendo con la lettura di un file xml, contenuto all'interno di un cookie, in questo modo:

XDocument xdoc = XDocument.Parse(Request.Cookies["MyLink"].Value);

ma nel momento in cui viene fatto il parse va in catch con questo errore "errore durante l'analisi di entityName".
Questo accade quando all'interno dell'xml ci sono caratteri del tipo "&amp" come di seguito

<MyLinks>%0d%0a <MyLink>%0d%0a <Title>Google</Title>%0d%0a <Url>http://www.google.it</Url>%0d%0a </MyLink>%0d%0a <MyLink>%0d%0a <Title>qas</Title>%0d%0a <Url>http://klug?ikh</Url>%0d%0a </MyLink>%0d%0a <MyLink>%0d%0a <Title>szad</Title>%0d%0a <Url>http://mioportale.it/irj/portal/?NavigationTarget=navurl://68f75f5f63b5a7066ad0082fb886bc36&amp

infatti l' errore lo da proprio nella posizione finale della riga
Cosa posso fare per ovviare il problema?

Grazie mille
Cinzia

Gluck74 Profilo | Guru

sinceramente non ho fatto delle prove per poterti dire la causa, ma mi viene in mente un test da fare:
prova a convertire il carattere "&" invecie che con la codifica "&amp;" con il relativo codice: "%26".
il test che potresti fare è "scrivere" dentro il file XML i valori che ti danno errore, e vedere come vengono convertiti.
Inoltre tieni presente che è buona norma scrivere delle stringhe relative ad url usando Server.UrlEncode, e leggerle con Server.UrlDecode

Ciao

____________
Ricordati di utilizzare il tasto "Accetta" se i nostri consigli ti sono serviti a risolvere il problema.
È il modo per ringraziare chi ti ha aiutato.
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-2017
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5