Jackson420 wrote:
> Here is a sample data of 1 file, you may make 3 more of the same and try to
> join them on Guid and create an xml file
>
> <?xml version="1.0" encoding="utf-8"?>
> <ColumnData>
> <Data>
> <Guid>d2152461-5005-4f22-af65-66f1fe734e81</Guid>
> <Data>Sales org#</Data>
> </Data>
> <Data>
> <Guid>4bea02ee-f986-423e-a093-71d78f61ea9b</Guid>
> <Data>G146</Data>
> </Data>
> </ColumnData
Here is some sample code processing a List(Of XDocument) of the above
structure and creating a merged document:
Dim doc1 As XDocument = <?xml version="1.0" encoding="utf-8"?>
<ColumnData>
<Data>
<Guid>d2152461-5005-4f22-af65-66f1fe734e81</Guid>
<Data>Sales org #1</Data>
</Data>
<Data>
<Guid>4bea02ee-f986-423e-a093-71d78f61ea9b</Guid>
<Data>G146</Data>
</Data>
</ColumnData>
Dim doc2 As XDocument = <?xml version="1.0" encoding="utf-8"?>
<ColumnData>
<Data>
<Guid>d2152461-5005-4f22-af65-66f1fe734e81</Guid>
<Data>Sales org #2</Data>
</Data>
<Data>
<Guid>4bea02ee-f986-423e-a093-71d78f61ea9b</Guid>
<Data>G147</Data>
</Data>
</ColumnData>
Dim doc3 As XDocument = <?xml version="1.0" encoding="utf-8"?>
<ColumnData>
<Data>
<Guid>d2152461-5005-4f22-af65-66f1fe734e81</Guid>
<Data>Sales org #3</Data>
</Data>
</ColumnData>
Dim doc4 As XDocument = <?xml version="1.0" encoding="utf-8"?>
<ColumnData>
<Data>
<Guid>4bea02ee-f986-423e-a093-71d78f61ea9b</Guid>
<Data>G148</Data>
</Data>
</ColumnData>
Dim docs As New List(Of XDocument)()
docs.Add(doc1)
docs.Add(doc2)
docs.Add(doc3)
docs.Add(doc4)
Dim mergedDoc As XDocument = New XDocument( _
New XElement(doc1.Root.Name, _
From data In docs.<ColumnData>.<Data> _
Group data By guid = data.<Guid>.Value Into G =
Group _
Select New XElement("Data", G(0).<Guid>, G.<Data>)))
mergedDoc.Save(Console.Out)
Output is as follows:
<ColumnData>
<Data>
<Guid>d2152461-5005-4f22-af65-66f1fe734e81</Guid>
<Data>Sales org #1</Data>
<Data>Sales org #2</Data>
<Data>Sales org #3</Data>
</Data>
<Data>
<Guid>4bea02ee-f986-423e-a093-71d78f61ea9b</Guid>
<Data>G146</Data>
<Data>G147</Data>
<Data>G148</Data>
</Data>
</ColumnData>
Is that what you want? Or how should the merged document look exactly?
--
Martin Honnen --- MVP Data Platform Development
http://msmvps.com/blogs/martin_honnen/