c# - How to save XML(writer) in DataBase -
i'm writing program user doing stuff , can save xml hard drive using savefiledialog().
the current code of creating xml-file (snippet should work everyone):
savefiledialog sfd = new savefiledialog(); if (sfd.showdialog() == dialogresult.ok) { using (xmlwriter writer = xmlwriter.create(filename)) { try { writer.writestartdocument(); writer.writestartelement("questionnaire"); writer.writeattributestring("xmlns", "xsi", null, "http://www.w3.org/2001/xmlschema-instance"); writer.writeattributestring("xsi", "nonamespaceschemalocation", null, "d:\\schema.xsd"); writer.writestartelement("title"); writer.writestring("test"); writer.writeendelement(); writer.writestartelement("number"); writer.writestring("1"); writer.writeendelement(); writer.writeendelement(); writer.flush(); writer.close(); } catch (exception ex) { system.windows.messagebox.show(ex.message); } } } now want save xml in database. either using column type xml in table (i don't know how or save column) or saving full xml code in column of type nvarchar, do.
how can save xml-file, created xmlwriter database (column of type xml or string includes xml)? saying "which includes xml" mean full xml code, like
<title> mytitle </title>
you may use following constructor:
var sb = new stringbuilder(); using (xmlwriter writer = xmlwriter.create(sb)) { // rest of code above savetodb(sb.tostring()); } and savetodb method (validation , exception handling omitted):
private static void savetodb(string xml) { using (var connection = new sqlconnection(conn)) using (var command = new sqlcommand( "insert myxmltable values (@xml)", connection)) { command.parameters.add("xml", sqldbtype.xml, xml.length).value = xml; connection.open(); var result = command.executenonquery(); } }
Comments
Post a Comment