{"id":7788,"date":"2019-08-17T09:15:15","date_gmt":"2019-08-17T09:15:15","guid":{"rendered":"https:\/\/zappysys.com\/blog\/?p=7788"},"modified":"2019-09-14T05:24:08","modified_gmt":"2019-09-14T05:24:08","slug":"parse-xml-string-multiple-columns-rows-using-ssis","status":"publish","type":"post","link":"https:\/\/zappysys.com\/blog\/parse-xml-string-multiple-columns-rows-using-ssis\/","title":{"rendered":"Parse XML string into multiple columns and rows using SSIS"},"content":{"rendered":"<h2>Introduction<\/h2>\n<p><a href=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2019\/08\/ssis-xml-parser-transform.png\" target=\"_blank\" rel=\"noopener\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-7790 size-full alignleft\" src=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2019\/08\/ssis-xml-parser-transform.png\" alt=\"SSIS XML Parser Transform\" width=\"128\" height=\"128\" \/><\/a>In our previous blog we saw <a href=\"https:\/\/zappysys.com\/blog\/tutorial-create-xml-in-ssis-export-xml-file-output\/\" target=\"_blank\" rel=\"noopener\">How to export XML from SQL Server using SSIS<\/a>. Now in this blog, we will\u00a0Parse XML string into multiple columns and rows using\u00a0SSIS <a href=\"https:\/\/zappysys.com\/products\/ssis-powerpack\/ssis-xml-parser-transform\/\" target=\"_blank\" rel=\"noopener\">XML Parser Transform<\/a>\u00a0can (Helpful to extract data from raw XML string stored as database column or coming from other source). Ability to de-normalize nested XML data into flat structure.\u00a0Support for expression to extract nested data and convert single node into multiple rows (e.g. extract orders from customer document using expression $.Customer.Orders[*])<\/p>\n<p>In nutshell,\u00a0this post will focus on how to Parse XML string into multiple columns and rows using respective XML Parser Transform.<\/p>\n<p>&nbsp;<\/p>\n<h2>Prerequisite<\/h2>\n<ol>\n<li>First, you will need to have SSIS installed<\/li>\n<li>Secondly, make sure to have SSDT<\/li>\n<li>Finally, do not forget to install\u00a0ZappySys\u00a0<a href=\"https:\/\/zappysys.com\/products\/ssis-powerpack\/\" target=\"_blank\" rel=\"noopener\">SSIS PowerPack<\/a><\/li>\n<\/ol>\n<h2>How to Extract Data from SQL Server Table and Parse\u00a0xml string into multiple columns and rows.<\/h2>\n<p>Let\u00b4s start with an example. In this SSIS XML Parser Transform example, we will Parse database column string into multiple columns and rows.<\/p>\n<ol>\n<li>First\u00a0of All, Drag and drop Data Flow Task from SSIS Toolbox and double click it to edit.\n<div id=\"attachment_7934\" style=\"width: 470px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2019\/09\/ssis-drag-drop-data-flow-task.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-7934\" class=\"size-full wp-image-7934\" src=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2019\/09\/ssis-drag-drop-data-flow-task.png\" alt=\"Drag and Drop SSIS Data Flow Task from SSIS Toolbox\" width=\"460\" height=\"155\" srcset=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2019\/09\/ssis-drag-drop-data-flow-task.png 460w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2019\/09\/ssis-drag-drop-data-flow-task-300x101.png 300w\" sizes=\"(max-width: 460px) 100vw, 460px\" \/><\/a><p id=\"caption-attachment-7934\" class=\"wp-caption-text\">Drag and Drop : SSIS Data Flow Task from SSIS Toolbox<\/p><\/div><\/li>\n<li>Furthermore, drag and drop the OLE DB Source.\n<div id=\"attachment_7289\" style=\"width: 515px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2019\/06\/oledb-source-drag-and-drop.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-7289\" class=\"size-full wp-image-7289\" src=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2019\/06\/oledb-source-drag-and-drop.png\" alt=\"OLE DB Source - Drag and Drop\" width=\"505\" height=\"190\" srcset=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2019\/06\/oledb-source-drag-and-drop.png 505w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2019\/06\/oledb-source-drag-and-drop-300x113.png 300w\" sizes=\"(max-width: 505px) 100vw, 505px\" \/><\/a><p id=\"caption-attachment-7289\" class=\"wp-caption-text\">OLE DB Source &#8211; Drag and Drop<\/p><\/div><\/li>\n<li>Double click on OLE DB Source for configure it and click on OK.\n<div style=\"width: 515px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/i2.wp.com\/zappysys.com\/onlinehelp\/ssis-powerpack\/scr\/images\/oledb-connection-manager\/ssis-oledb-source-editor-manager.png\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-7289\" src=\"https:\/\/i2.wp.com\/zappysys.com\/onlinehelp\/ssis-powerpack\/scr\/images\/oledb-connection-manager\/ssis-oledb-source-editor-manager.png\" alt=\"Configure OLE DB Source Editor\" width=\"505\" height=\"190\" \/><\/a><p class=\"wp-caption-text\">Configure OLE DB Source Editor<\/p><\/div><\/li>\n<li>Now drag and drop XML Parser Transform and connect it with the ole db source.<\/li>\n<li>Double click on XML Parser Transform and select that column from the drop down and enter sample data and click on Preview.\n<div id=\"attachment_7793\" style=\"width: 643px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2019\/08\/ssis-xml-parser-transform-confihuration.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-7793\" class=\"size-full wp-image-7793\" src=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2019\/08\/ssis-xml-parser-transform-confihuration.png\" alt=\"SSIS XML Parser Transform \u2013 Parse XMl Document\" width=\"633\" height=\"533\" srcset=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2019\/08\/ssis-xml-parser-transform-confihuration.png 633w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2019\/08\/ssis-xml-parser-transform-confihuration-300x253.png 300w\" sizes=\"(max-width: 633px) 100vw, 633px\" \/><\/a><p id=\"caption-attachment-7793\" class=\"wp-caption-text\">SSIS XML Parser Transform \u2013 Parse XML Document<\/p><\/div><\/li>\n<li>That&#8217;s it, now you can use that data in desire destination.\n<div id=\"attachment_7793\" style=\"width: 643px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/zappysys.com\/onlinehelp\/ssis-powerpack\/scr\/images\/xml-parser-transform\/ssis-xml-parser-transform-convert-xml-to-csv.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-7793\" class=\"size-full wp-image-7793\" src=\"https:\/\/zappysys.com\/onlinehelp\/ssis-powerpack\/scr\/images\/xml-parser-transform\/ssis-xml-parser-transform-convert-xml-to-csv.png\" alt=\"SSIS XML Parser Transform \u2013 Parse XMl Document\" width=\"633\" height=\"533\" \/><\/a><p id=\"caption-attachment-7793\" class=\"wp-caption-text\">SSIS XML Parser Transform \u2013 Parse XML Document, Convert XML to CSV or save to RDBMS (e.g. SQL Server, MySQL)<\/p><\/div><\/li>\n<\/ol>\n<div class=\"mceTemp\"><\/div>\n<h2><span id=\"Conclusion\">Conclusion<\/span><\/h2>\n<p>After all, we saw you how to Parse string into multiple columns and rows using SSIS XML Parser Transform from SQL Server Table using OLE DB Connection. To explore many other scenarios not discussed in this article download\u00a0<a href=\"https:\/\/zappysys.com\/products\/ssis-powerpack\/\">SSIS PowerPack from here (includes 70+ Components)<\/a>.<\/p>\n<h2><span id=\"References\">References<\/span><\/h2>\n<p>Finally, you can use the following URL for more information.<\/p>\n<ul>\n<li>Help File:\u00a0<a href=\"https:\/\/zappysys.com\/onlinehelp\/ssis-powerpack\/index.htm#page=ssis-xml-parser-transform.htm\" target=\"_blank\" rel=\"noopener\">XML Parser Transform<\/a><\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Introduction In our previous blog we saw How to export XML from SQL Server using SSIS. Now in this blog, we will\u00a0Parse XML string into multiple columns and rows using\u00a0SSIS XML Parser Transform\u00a0can (Helpful to extract data from raw XML string stored as database column or coming from other source). Ability to de-normalize nested XML [&hellip;]<\/p>\n","protected":false},"author":6,"featured_media":7790,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[135],"tags":[12,7],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v22.3 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\r\n<title>Parse XML string into multiple columns and rows using SSIS | ZappySys Blog<\/title>\r\n<meta name=\"description\" content=\"Parse XML string into multiple columns and rows using SSIS XML Parser Transform. (Helpful to extract data from raw XML string).\" \/>\r\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\r\n<link rel=\"canonical\" href=\"https:\/\/zappysys.com\/blog\/parse-xml-string-multiple-columns-rows-using-ssis\/\" \/>\r\n<meta property=\"og:locale\" content=\"en_US\" \/>\r\n<meta property=\"og:type\" content=\"article\" \/>\r\n<meta property=\"og:title\" content=\"Parse XML string into multiple columns and rows using SSIS | ZappySys Blog\" \/>\r\n<meta property=\"og:description\" content=\"Parse XML string into multiple columns and rows using SSIS XML Parser Transform. (Helpful to extract data from raw XML string).\" \/>\r\n<meta property=\"og:url\" content=\"https:\/\/zappysys.com\/blog\/parse-xml-string-multiple-columns-rows-using-ssis\/\" \/>\r\n<meta property=\"og:site_name\" content=\"ZappySys Blog\" \/>\r\n<meta property=\"article:published_time\" content=\"2019-08-17T09:15:15+00:00\" \/>\r\n<meta property=\"article:modified_time\" content=\"2019-09-14T05:24:08+00:00\" \/>\r\n<meta property=\"og:image\" content=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2019\/08\/ssis-xml-parser-transform.png\" \/>\r\n\t<meta property=\"og:image:width\" content=\"128\" \/>\r\n\t<meta property=\"og:image:height\" content=\"128\" \/>\r\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\r\n<meta name=\"author\" content=\"ZappySys\" \/>\r\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\r\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"ZappySys\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"2 minutes\" \/>\r\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/zappysys.com\/blog\/parse-xml-string-multiple-columns-rows-using-ssis\/\",\"url\":\"https:\/\/zappysys.com\/blog\/parse-xml-string-multiple-columns-rows-using-ssis\/\",\"name\":\"Parse XML string into multiple columns and rows using SSIS | ZappySys Blog\",\"isPartOf\":{\"@id\":\"https:\/\/zappysys.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/zappysys.com\/blog\/parse-xml-string-multiple-columns-rows-using-ssis\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/zappysys.com\/blog\/parse-xml-string-multiple-columns-rows-using-ssis\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2019\/08\/ssis-xml-parser-transform.png\",\"datePublished\":\"2019-08-17T09:15:15+00:00\",\"dateModified\":\"2019-09-14T05:24:08+00:00\",\"author\":{\"@id\":\"https:\/\/zappysys.com\/blog\/#\/schema\/person\/c9dc782c929d0027e2e87e3951ce9d35\"},\"description\":\"Parse XML string into multiple columns and rows using SSIS XML Parser Transform. (Helpful to extract data from raw XML string).\",\"breadcrumb\":{\"@id\":\"https:\/\/zappysys.com\/blog\/parse-xml-string-multiple-columns-rows-using-ssis\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/zappysys.com\/blog\/parse-xml-string-multiple-columns-rows-using-ssis\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/zappysys.com\/blog\/parse-xml-string-multiple-columns-rows-using-ssis\/#primaryimage\",\"url\":\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2019\/08\/ssis-xml-parser-transform.png\",\"contentUrl\":\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2019\/08\/ssis-xml-parser-transform.png\",\"width\":128,\"height\":128,\"caption\":\"SSIS XML Parser Transform\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/zappysys.com\/blog\/parse-xml-string-multiple-columns-rows-using-ssis\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/zappysys.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Parse XML string into multiple columns and rows using SSIS\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/zappysys.com\/blog\/#website\",\"url\":\"https:\/\/zappysys.com\/blog\/\",\"name\":\"ZappySys Blog\",\"description\":\"SSIS \/ ODBC Drivers \/ API Connectors for JSON, XML, Azure, Amazon AWS, Salesforce, MongoDB and more\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/zappysys.com\/blog\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/zappysys.com\/blog\/#\/schema\/person\/c9dc782c929d0027e2e87e3951ce9d35\",\"name\":\"ZappySys\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/zappysys.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/076a738938c19d459fbfe125c759a0ea?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/076a738938c19d459fbfe125c759a0ea?s=96&d=mm&r=g\",\"caption\":\"ZappySys\"},\"url\":\"https:\/\/zappysys.com\/blog\/author\/hshah\/\"}]}<\/script>\r\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Parse XML string into multiple columns and rows using SSIS | ZappySys Blog","description":"Parse XML string into multiple columns and rows using SSIS XML Parser Transform. (Helpful to extract data from raw XML string).","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/zappysys.com\/blog\/parse-xml-string-multiple-columns-rows-using-ssis\/","og_locale":"en_US","og_type":"article","og_title":"Parse XML string into multiple columns and rows using SSIS | ZappySys Blog","og_description":"Parse XML string into multiple columns and rows using SSIS XML Parser Transform. (Helpful to extract data from raw XML string).","og_url":"https:\/\/zappysys.com\/blog\/parse-xml-string-multiple-columns-rows-using-ssis\/","og_site_name":"ZappySys Blog","article_published_time":"2019-08-17T09:15:15+00:00","article_modified_time":"2019-09-14T05:24:08+00:00","og_image":[{"width":128,"height":128,"url":"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2019\/08\/ssis-xml-parser-transform.png","type":"image\/png"}],"author":"ZappySys","twitter_card":"summary_large_image","twitter_misc":{"Written by":"ZappySys","Est. reading time":"2 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/zappysys.com\/blog\/parse-xml-string-multiple-columns-rows-using-ssis\/","url":"https:\/\/zappysys.com\/blog\/parse-xml-string-multiple-columns-rows-using-ssis\/","name":"Parse XML string into multiple columns and rows using SSIS | ZappySys Blog","isPartOf":{"@id":"https:\/\/zappysys.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/zappysys.com\/blog\/parse-xml-string-multiple-columns-rows-using-ssis\/#primaryimage"},"image":{"@id":"https:\/\/zappysys.com\/blog\/parse-xml-string-multiple-columns-rows-using-ssis\/#primaryimage"},"thumbnailUrl":"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2019\/08\/ssis-xml-parser-transform.png","datePublished":"2019-08-17T09:15:15+00:00","dateModified":"2019-09-14T05:24:08+00:00","author":{"@id":"https:\/\/zappysys.com\/blog\/#\/schema\/person\/c9dc782c929d0027e2e87e3951ce9d35"},"description":"Parse XML string into multiple columns and rows using SSIS XML Parser Transform. (Helpful to extract data from raw XML string).","breadcrumb":{"@id":"https:\/\/zappysys.com\/blog\/parse-xml-string-multiple-columns-rows-using-ssis\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/zappysys.com\/blog\/parse-xml-string-multiple-columns-rows-using-ssis\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/zappysys.com\/blog\/parse-xml-string-multiple-columns-rows-using-ssis\/#primaryimage","url":"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2019\/08\/ssis-xml-parser-transform.png","contentUrl":"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2019\/08\/ssis-xml-parser-transform.png","width":128,"height":128,"caption":"SSIS XML Parser Transform"},{"@type":"BreadcrumbList","@id":"https:\/\/zappysys.com\/blog\/parse-xml-string-multiple-columns-rows-using-ssis\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/zappysys.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Parse XML string into multiple columns and rows using SSIS"}]},{"@type":"WebSite","@id":"https:\/\/zappysys.com\/blog\/#website","url":"https:\/\/zappysys.com\/blog\/","name":"ZappySys Blog","description":"SSIS \/ ODBC Drivers \/ API Connectors for JSON, XML, Azure, Amazon AWS, Salesforce, MongoDB and more","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/zappysys.com\/blog\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/zappysys.com\/blog\/#\/schema\/person\/c9dc782c929d0027e2e87e3951ce9d35","name":"ZappySys","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/zappysys.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/076a738938c19d459fbfe125c759a0ea?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/076a738938c19d459fbfe125c759a0ea?s=96&d=mm&r=g","caption":"ZappySys"},"url":"https:\/\/zappysys.com\/blog\/author\/hshah\/"}]}},"_links":{"self":[{"href":"https:\/\/zappysys.com\/blog\/wp-json\/wp\/v2\/posts\/7788"}],"collection":[{"href":"https:\/\/zappysys.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/zappysys.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/zappysys.com\/blog\/wp-json\/wp\/v2\/users\/6"}],"replies":[{"embeddable":true,"href":"https:\/\/zappysys.com\/blog\/wp-json\/wp\/v2\/comments?post=7788"}],"version-history":[{"count":10,"href":"https:\/\/zappysys.com\/blog\/wp-json\/wp\/v2\/posts\/7788\/revisions"}],"predecessor-version":[{"id":8008,"href":"https:\/\/zappysys.com\/blog\/wp-json\/wp\/v2\/posts\/7788\/revisions\/8008"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/zappysys.com\/blog\/wp-json\/wp\/v2\/media\/7790"}],"wp:attachment":[{"href":"https:\/\/zappysys.com\/blog\/wp-json\/wp\/v2\/media?parent=7788"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/zappysys.com\/blog\/wp-json\/wp\/v2\/categories?post=7788"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/zappysys.com\/blog\/wp-json\/wp\/v2\/tags?post=7788"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}