voglio serializzare una classe per XML e memorizzare che in un campo in un database. Posso serializzare con questo:Serializzare una classe C# in xml. Conservare il XML come una stringa in SQL Server e quindi ripristinare la classe successiva
StringWriter sw = new StringWriter();
XmlSerializer xmlser = new XmlSerializer(typeof(MyClass));
xmlser.Serialize(sw, myClassVariable);
string s = sw.ToString();
sw.Close();
funziona Questo è, ma ha gli spazi dei nomi in essa.
<.... xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
Questi rallenteranno la deserializzazione perché andrà a quelli e verificherà l'XML? Mi sono liberato dei namespace creando un XmlSerializerNamespaces vuoti e utilizzando tale per serializzare, ma poi il xml aveva ancora gli spazi dei nomi in giro variabili intere:
<anyType xmlns:q1="http://www.w3.org/2001/XMLSchema"
d3p1:type="q1:int"
xmlns:d3p1="http://www.w3.org/2001/XMLSchema-instance">
3
</anyType>
La mia domanda è: è necessario avere la namesapces per deserializzazione e se no, come sbarazzarsi di loro? Come faccio a dire che i campi sono interi in modo che doesnt messo in "anyType"
Grazie, Brian
Se stai usando SQL Server 2005 o versioni successive, è necessario utilizzare una colonna XML. –