Gestione degli array in serializzazione

lunedì 07 aprile 2008 - 14.20

Injegner Profilo | Newbie

Buongiorno a tutti,
ho un problema con la serializzazione di oggetti di tipo lista: nell'xml allegato mostro un oggetto VCBuild che ha come attributo una List<> di oggetti di tipo VCComponent, che ho chiamato Components. Il problema è che vorrei che tale lista, in quanto semplice contenitore, non comparisse nella serializzazione (non è tanto per sfizio, ma perchè devo riprodurre una struttura conforme ad una esistente..). Come risultato vorrei quindi che, sotto VCBuild ci siano direttamente uno o più ChildNodes con il TAG VCComponent.

Per ora nella serializzazione indicavo
[XmlArray()] public List<VCComponent> Components;

Avete idea di come possa fare? Devo cambiare oggetto tra parentesi quadre?

Grazie mille! Paolo

Wamba Profilo | Expert

ciao,
prova ad aggiungere un decoratore [NonSerialized()] alla proprietà/attributo che non vuoi serializzare
-----------------------------------------------------------
Solo chi ha il Caos dentro può generare una stella danzante
Wamba
http://blogs.ugidotnet.org/WamBlog/
http://www.intellimaker.com

Injegner Profilo | Newbie

Grazie Wamba, pero'purtroppo non sembra funzionare.. ho scritto:
[NonSerialized()] public List<Component> Components
ma nell'XML rimane cmq un livello per Components...
Qualche altra idea? Oppure ho sbagliato qualcosa?\
Grazie..

Wamba Profilo | Expert

Ciao,
scusa ho sbagliato ti ho dato la decorazione per la serializzazione semplice, tu avevi bisogno di quella specifica per la serializzazione xml. Prova con questa: [System.Xml.Serialization.XmlIgnoreAttribute].
(Speriam che la vada bene!)

-----------------------------------------------------------
Solo chi ha il Caos dentro può generare una stella danzante
Wamba
http://blogs.ugidotnet.org/WamBlog/
http://www.intellimaker.com

Injegner Profilo | Newbie

Ciao,
quella la avevo gia'provata, ma purtroppo agisce su tutti i nodi figli.. cioe' non ignora solo quel livello ma anche tutti i figli... In realta'ho provato la XmlIgnore() perche' la XmlIgnoreAttribute() che mi scrivi tu non ce l'ho nell'elenco dei metodi disponibili in Serialization...
Grazie... Paolo
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