Here's what I'm doing. I'm inserting an XML file into an XML column, along with other columns such as date stamps etc. for logging (those are irrelevant to this request)
The file looks like something similar to this:
<topLevelItem>
<secondLevelItem>
<secondLevelItemDetail>
</secondLevelItemDetail>
<secondLevelItemAnotherDetail>
</secondLevelItemAnotherDetail>
</secondLevelItem>
<secondLevelItem>
<secondLevelItemDetail>
</secondLevelItemDetail>
<secondLevelItemAnotherDetail>
</secondLevelItemAnotherDetail>
</secondLevelItem>
<secondLevelItem>
<secondLevelItemDetail>
</secondLevelItemDetail>
<secondLevelItemAnotherDetail>
</secondLevelItemAnotherDetail>
</secondLevelItem>
<topLevelItem>
My goal is to be able to query the XML field and get a result set with each <secondLevelItem> in it's own row, in it's XML form. Such as below:
Row 1:
<secondLevelItem>
<secondLevelItemDetail>
</secondLevelItemDetail>
<secondLevelItemAnotherDetail>
</secondLevelItemAnotherDetail>
</secondLevelItem>
Row 2:
<secondLevelItem>
<secondLevelItemDetail>
</secondLevelItemDetail>
<secondLevelItemAnotherDetail>
</secondLevelItemAnotherDetail>
</secondLevelItem>
Row 3:
<secondLevelItem>
<secondLevelItemDetail>
</secondLevelItemDetail>
<secondLevelItemAnotherDetail>
</secondLevelItemAnotherDetail>
</secondLevelItem>
This has to be done using Microsoft SQL Server and without using CLI. I need to be able to declare which XML node I want the break down to start at, as some files have additional XML elements that I don't require. So something like, WHERE node = secondLevelItem.