{"id":9425,"date":"2025-06-07T07:52:30","date_gmt":"2025-06-07T07:52:30","guid":{"rendered":"http:\/\/www.withdata.com\/blog\/?p=9425"},"modified":"2026-07-06T00:56:11","modified_gmt":"2026-07-06T00:56:11","slug":"upsert-sql-server-data-from-xml","status":"publish","type":"post","link":"https:\/\/www.withdata.com\/blog\/xmltomssql\/upsert-sql-server-data-from-xml.html","title":{"rendered":"Upsert data from XML file to SQL Server"},"content":{"rendered":"<p>Want to upsert XML data into  <a href=\"https:\/\/www.microsoft.com\/en-us\/cloud-platform\/sql-server\">SQL Server<\/a> ?<\/p>\n<p>Upsert: inserts rows into a table if they do not already exist, or updates them if they do.<\/p>\n<p>Try Withdata <a href=\"https:\/\/www.withdata.com\/file-to-db\/\">FileToDB<\/a>, a desktop XML to SQL Server converter for Windows, MacOS, and Linux, Upsert XML data into SQL Server, Easy and Fast.<\/p>\n<ul>\n<li>Can run in <span id=\"gui\">GUI<\/span> mode, <a href=\"#convert\">Step by Step<\/a>, just a few mouse clicks.<\/li>\n<li>Can run in <a href=\"\/tools\/file-to-db\/xml-to-mssql-cmd\" target=\"_blank\">Command line<\/a>, for <a href=\"\/tools\/file-to-db\/xml-to-mssql-task\" target=\"_blank\">Scheduled Tasks<\/a> and Streams.<\/li>\n<li>Import XML to SQL Server locally and <b>privately<\/b>, avoid uploading XML file(s) to online services.<\/li>\n<li>Support <a href=\"\/tools\/file-to-db\/xml-to-mssql-windows\" target=\"_blank\">Windows<\/a>, <a href=\"\/tools\/file-to-db\/xml-to-mssql-linux\" target=\"_blank\">Linux<\/a>, and <a href=\"\/tools\/file-to-db\/xml-to-mssql-macos\" target=\"_blank\">macOS<\/a>.<\/li>\n<\/ul>\n<p><a href=\"#download-top\" onclick=\"dtv.style.display = 'block';\">Download Withdata FileToDB<\/a>  <a href=\"#download-top\" onclick=\"dtv.style.display = 'block';\"><img decoding=\"async\" src=\"https:\/\/www.withdata.com\/images\/download_3.jpg\" alt=\"Download FileToDB\" width=\"80\" height=\"22\" style=\"max-width:100%;height:auto;\" \/><\/a> <span id=\"dtv\" style=\"display: none;\"><br \/>\n<a href=\"\/download.php?app=FileToDB&#038;ver=win64\">Windows 64 bit<\/a><br \/>\n<a href=\"\/download.php?app=FileToDB&#038;ver=win32\">Windows 32 bit<\/a><br \/>\n<a href=\"\/download.php?app=FileToDB&#038;ver=deb\">Linux .deb (For Debian, Ubuntu) 64 bit<\/a><br \/>\n<a href=\"\/download.php?app=FileToDB&#038;ver=rpm\">Linux .rpm (For Red Hat, Fedora, SUSE) 64 bit<\/a><br \/>\n<a href=\"\/download.php?app=FileToDB&#038;ver=pkg\">MacOS 64 bit<\/a><br \/>\n<\/span><\/p>\n<h2>Upsert data from XML file to SQL Server<\/h2>\n<p> Choose SQL Server and logon.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/www.withdata.com\/images\/logon\/choose_sql-server_logon.png\" alt=\"convert XML file to SQL Server table - Choose SQL Server and logon\" width=\"430\" height=\"442\" style=\"max-width:100%;height:auto;display:block;\" \/><\/p>\n<p> Click &#8220;Wizard &#8211; 1 File To 1 Table&#8221; at task dialog.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/www.withdata.com\/images\/file-to-db\/task-window.png\" alt=\"convert XML file to SQL Server table - task window\" width=\"722\" height=\"399\" style=\"max-width:100%;height:auto;display:block;\" loading=\"lazy\" decoding=\"async\" \/><\/p>\n<p> Select the &#8220;XML&#8221; file type.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/www.withdata.com\/images\/file-to-db\/select-file-type-xml.png\" ALT=\"Import file data to database table - select file type\" width=\"547\" height=\"236\" style=\"max-width:100%;height:auto;display:block;\" loading=\"lazy\" decoding=\"async\"><\/p>\n<p>then show the wizard.<\/p>\n<h3>1. Open an XML file.<\/h3>\n<p><img decoding=\"async\" src=\"https:\/\/www.withdata.com\/images\/file-to-db\/wizard-import-file-source-file-xml.png\" ALT=\"Upsert Data From XML To SQL Server - open XML file\" width=\"722\" height=\"572\" style=\"max-width:100%;height:auto;display:block;\" loading=\"lazy\" decoding=\"async\"><\/p>\n<h3>2. Select a table and config fields.<\/h3>\n<p>Set &#8220;Load Type&#8221; to &#8220;Upsert&#8221;, choice &#8220;By Key&#8221;.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/www.withdata.com\/images\/file-to-db\/wizard-upsert-dest-table.png\" ALT=\"Upsert Data From XML To SQL Server - select table\" width=\"722\" height=\"572\" style=\"max-width:100%;height:auto;display:block;\" loading=\"lazy\" decoding=\"async\"><\/p>\n<h3>3. Preview data.<\/h3>\n<p><img decoding=\"async\" src=\"https:\/\/www.withdata.com\/images\/file-to-db\/wizard-import-preview-xml.png\" ALT=\"Upsert Data From XML To SQL Server - preview\" width=\"722\" height=\"572\" style=\"max-width:100%;height:auto;display:block;\" loading=\"lazy\" decoding=\"async\"><\/p>\n<h3>4. Upsert XML data to SQL Server.<\/h3>\n<p><img decoding=\"async\" src=\"https:\/\/www.withdata.com\/images\/file-to-db\/wizard-import-convert-xml.png\" ALT=\"Upsert Data From XML To SQL Server - import data\" width=\"722\" height=\"572\" style=\"max-width:100%;height:auto;display:block;\" loading=\"lazy\" decoding=\"async\"><\/p>\n<hr style=\"clear: both;\" \/>\n<p>More about <a href=\"\/tools\/file-to-db\/xml-to-mssql\">XML to SQL Server converter<\/a><\/p>\n<div id=\"download-bottom\" style=\"clear: both;\">\n<p>Download Withdata FileToDB<a href=\"#download-bottom\" onclick=\"dbv.style.display = 'block';\"><img decoding=\"async\" src=\"https:\/\/www.withdata.com\/images\/btn_download_green.png\" alt=\"Download FileToDB\" width=\"165\" height=\"50\" style=\"max-width:100%;height:auto;\" loading=\"lazy\" decoding=\"async\" \/><\/a> <span id=\"dbv\" style=\"display: none;\"><br \/>\n<a href=\"\/download.php?app=FileToDB&#038;ver=win64\">Windows 64 bit<\/a><br \/>\n<a href=\"\/download.php?app=FileToDB&#038;ver=win32\">Windows 32 bit<\/a><br \/>\n<a href=\"\/download.php?app=FileToDB&#038;ver=deb\">Linux .deb (For Debian, Ubuntu) 64 bit<\/a><br \/>\n<a href=\"\/download.php?app=FileToDB&#038;ver=rpm\">Linux .rpm (For Red Hat, Fedora, SUSE) 64 bit<\/a><br \/>\n<a href=\"\/download.php?app=FileToDB&#038;ver=pkg\">MacOS 64 bit<\/a><br \/>\n<\/span><\/p>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Want to upsert XML data into SQL Server ? Upsert: inserts rows into a table if they do not already exist, or updates them if they do. Try Withdata FileToDB, a desktop XML to SQL Server converter for Windows, MacOS, and Linux, Upsert XML data into SQL Server, Easy and Fast. Can run in GUI [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1415],"tags":[1321,428,68],"class_list":["post-9425","post","type-post","status-publish","format-standard","hentry","category-xmltomssql","tag-sql-server","tag-upsert","tag-xml"],"_links":{"self":[{"href":"https:\/\/www.withdata.com\/blog\/wp-json\/wp\/v2\/posts\/9425","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.withdata.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.withdata.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.withdata.com\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.withdata.com\/blog\/wp-json\/wp\/v2\/comments?post=9425"}],"version-history":[{"count":10,"href":"https:\/\/www.withdata.com\/blog\/wp-json\/wp\/v2\/posts\/9425\/revisions"}],"predecessor-version":[{"id":41121,"href":"https:\/\/www.withdata.com\/blog\/wp-json\/wp\/v2\/posts\/9425\/revisions\/41121"}],"wp:attachment":[{"href":"https:\/\/www.withdata.com\/blog\/wp-json\/wp\/v2\/media?parent=9425"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.withdata.com\/blog\/wp-json\/wp\/v2\/categories?post=9425"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.withdata.com\/blog\/wp-json\/wp\/v2\/tags?post=9425"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}