2010-07-10 6 views
5

Sto provando a elaborare su xml e sono così stanco di lavorare con le classi dello spazio dei nomi Xml. L'ho trovato davvero difficile.LinqToXml OR Xml?

Quindi sto provando a fare le stesse cose con le classi di LinqtoXml e vedo che molte cose sono possibili con LinqtoXml invece delle classi Xml. Quindi sono davvero confuso che devo usare.

Quando e perché preferisci le classi Xml invece delle classi LinqtoXml?

Edit:

Ciò che non è possibile fare con LinqToXml quando è possibile con classi XML?

+0

L2X è un modo più semplice per accedere al tuo XML. Non conosco differenze, ma mi piacerebbe sapere se ce ne sono. Io uso Linq 2 SQL tutto il tempo e riduce notevolmente il carico di lavoro della creazione di un DAL e non conosco alcuna differenza. –

+0

Non hai mai avuto bisogno di classi Xml durante l'uso di L2X e questo è il punto che L2X è in grado di fare tutto o molto di Xml – Freshblood

+0

che non è vero (vedi la mia risposta) –

risposta

8

I metodi generali utilizzati per manipolare ed elaborare i dati XML erano disponibili dalla prima versione di .NET Framework. Linq è disponibile da .NET Framework 3.5. Questo è uno dei motivi per utilizzare semplici classi Xml se scegli come target una versione precedente di .NET Framework.

Linq to Xml ha anche un approccio diverso. Si tratta più di interrogare i dati XML e non di leggerli. Quindi, in alcune situazioni, Linq to Xml sarà il modo più semplice per fare le cose, ma non nella situazione ogni. La facilità di Linq to Xml potrebbe anche essere una brutta cosa se usata da uno sviluppatore non qualificato: è, IMHO, molto più facile da produrre codice con enormi problemi di prestazioni con Linq piuttosto che senza.

3

Lavorando esclusivamente nella LINQ to spazio XML è un bene per interrogazione (la Q in LINQ), e proiettando i dati XML originali nella nuove strutture, ma è poco maneggevole in alcuni casi e impossibile in altri a manipola direttamente l'XML

Si può argomentare che in molti casi questo è ancora un aspetto positivo, dal momento che l'immutabilità riduce la possibilità di alcuni tipi di bug, ma sicuramente può avere dei costi - non perfettamente in linea con ogni situazione e talvolta con le prestazioni.

Problemi correlati