devxlogo

Create XML from an Array

Passing arrays as arguments to stored procedures is not currently possible in SQL Server, but you can use XML to accomplish this. To do this, you need to create an XML string using your preferred language (C#, VB, etc.). You can use the following function to convert an array to an XML string (which you can then pass to the stored procedure). This example uses C#, but you can use the same logic with other languages:

    protected void Page_Load(object sender, EventArgs e)    {        Object[] test = { 1, "item 2", 3, "item 4", 5, "item 6" };        Response.Write(ConvertToXML(test, "params", "param"));    }    protected string ConvertToXML(Object[] args, string rootName, string elemName)    {        string xmlStr = "<" + rootName + ">";        foreach (Object arg in args)        {            xmlStr += "<" + elemName + ">" + arg.ToString() +                      "";        }        xmlStr += "";        return xmlStr;    }

Using the test case in the Page_Load method provided above as an example, the output XML would look like the following (but not as neatly formatted):

    1    item 2    3    item 4    5    item 6

You can now pass that string to a SQL Server stored procedure or to other functions.

Charlie has over a decade of experience in website administration and technology management. As the site admin, he oversees all technical aspects of running a high-traffic online platform, ensuring optimal performance, security, and user experience.

See also  Five Early Architecture Decisions That Quietly Get Expensive

About Our Editorial Process

At DevX, we’re dedicated to tech entrepreneurship. Our team closely follows industry shifts, new products, AI breakthroughs, technology trends, and funding announcements. Articles undergo thorough editing to ensure accuracy and clarity, reflecting DevX’s style and supporting entrepreneurs in the tech sphere.

See our full editorial policy.