Così ho qualche XML:Come fermare XMLReader lancio non valido XML Character Eccezione
<key>my tag</key><value>my tag value and my invalid Character</Value>
e un XMLReader:
using (XmlReader reader = XmlReader.Create(new StringReader(xml)))
{
while (reader.Read())
{
//do my thing
}
}
Ho implementato il metodo CleanInvalidCharacters da here ma come il " & #xB "non è ancora codificato, non viene rimosso.
L'errore viene generato dal lettore. Lettura(); riga con eccezione:
valore esadecimale 0x0B, è un carattere non valido.
Come filtrare i valori più in basso? Lo farei nel ciclo while. Codificalo come xml e rimuovi i caratteri non validi? – user1
Puoi usare l'approccio 'CleanInvalidCharacters' menzionato nel tuo post originale sui nodi di testo, sugli elementi e sui valori degli attributi (come li incontri nel ciclo while, in effetti). Funzionerà ora poiché i caratteri sono già stati decodificati. –