c# - deserialize an XML object returned from SQL query? -
i need deserialize xml object 'should' returned sql query.
i had working in json, cannot use json moving on xml. jsonconvert functionality gets result in 1 line.. not sure how handle sql gives me.
when writing server table getting xdocument type, xml datatype cell.
if (do_sql_read) { list<string> usernames = new list<string>(); list<int> ids = new list<int>(); string sql_load; player player_after_load = new player(); //multiple string select_string = @"select * [table]"; using (sqlconnection sql_connection_a = new sqlconnection( getconnectionstring() ) ) { sql_connection_a.open(); using (sqlcommand command = new sqlcommand(select_string, sql_connection_a)) { sqldatareader reader = command.executereader(commandbehavior.default); // xml version while (reader.read()) { int iii = reader.getint32(0); // unique id int string name = reader.getstring(1); // name string sql_load = reader.getstring(2); usernames.add(name); ids.add(iii); xmlserializer xml_serializer = new xmlserializer (typeof(player)); // <<<<< part ??? >>> player_after_load = (player)xml_serializer.deserialize (sql_load); console.writeline("sqlplayer: " + iii + " " + player_after_load.name + " " + player_after_load.health + " " + player_after_load.mana); } /* json version works while (reader.read()) { int iii = reader.getint32(0); // unique id int string name = reader.getstring(1); // name string sql_load = reader.getstring(2); usernames.add(name); ids.add(iii); player_after_load = jsonconvert.deserializeobject<player>(sql_load); console.writeline("sqlplayer: " + iii + " " + player_after_load.name + " " + player_after_load.health + " " + player_after_load.mana); } */ } } } // end do_sql_string
i'm adding answer because said cannot use system.io. if can use system.io please refer datvm's answer. here sample of do. simplified includes class deserialize to, , can run in console app.
using system; using system.xml; using system.xml.serialization; public class player { public string name {get; set;} } public class program { public static void main() { var str = "<player><name>bobby</name></player>"; var doc = new xmldocument(); var xml_serializer = new xmlserializer(typeof(player)); doc.loadxml(str); player player_after_load; using (var nodereader = new xmlnodereader(doc)) { player_after_load = (player)xml_serializer.deserialize(nodereader); } console.writeline(player_after_load.name); } }
console results
bobby
Comments
Post a Comment