XML e elementi di primo livello

lunedì 07 maggio 2007 - 16.35

Simpz Profilo | Junior Member

Ciao a tutti
il problema è che ho un XML non modificabile fatto in questa meniera
<?xml version="1.0" encoding="iso-8859-1" ?> <doc att1="" att2="" /> <doc att1="" att2="" /> <doc att1="" att2="" /> <doc att1="" att2="" /> <doc att1="" att2="" />

e lo vado a leggere così

XmlReader reader = XmlReader.Create("DocsDB.xml"); while (reader.Read()) { funzioni... } reader.Close()

al primo giro ok, mi becca l'elemento e mi fa i controlli e va tutto bene... al 2° giro mi solleva l'eccezione quando va a rifare l'istruzione reader.Read() che ci sono elementi multipli di 1° livello...
come posso fare a ovviare a questo problema?
Putroppo l'xml non lo posso cambiare.

Grazie a tutti

alx_81 Profilo | Guru

>Ciao a tutti
Ciao!

>al primo giro ok, mi becca l'elemento e mi fa i controlli e va
>tutto bene... al 2° giro mi solleva l'eccezione quando va a rifare
>l'istruzione reader.Read() che ci sono elementi multipli di 1°
>livello...
>come posso fare a ovviare a questo problema?
Con i parser XML e i reader non riesci a saltarci fuori..
il fatto è che per esservi un XML Well formed, deve esistere un nodo root..
se non c'è.. ricevi quell'eccezione..
puoi percorrere due strade..

1) leggere l'xml come se fosse un file di testo (facendoti un reader tuo)
2) aggiungere a runtime il nodo root e utilizzare poi il nuovo creato per leggere un xml valido..

non vedo altre soluzioni..
attendiamo qualche esperto di XML che si faccia avanti
Alx81 =)

http://blogs.dotnethell.it/suxstellino

Simpz Profilo | Junior Member

infatti me ne sono accorto quando ho messo un nodo root... forse posso anche cambiarlo l'xml e quindi non ci sono problemi... grazie delle dritte!
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-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5