У меня есть следующий XML:
<root>
<table>
<items>Item 1</items>
<values>value 1></values>
</table>
<table>
<items>Item 2</items>
<values>value 2></values>
</table>
<table>
<items>Item 3</items>
<values>value 3></values>
</table>
<table>
<items>Item 4</items>
<values>value 4></values>
</table>
<table>
<items>Item 5</items>
<values>value 5></values>
</table>
<table>
<items>Item 6</items>
<values>value 6></values>
</table>
<table>
<items>Item 7</items>
<values>value 7></values>
</table>
<table>
<items>Item 8</items>
<values>value 8></values>
</table>
</root>
Теперь я хочу добавить новый узел в мой XML, в котором хранятся все значения, разделенные символом "/" через каждые 2 значения. Новый узел будет выглядеть так:
<combined>Item 1, value 1 / Item 2, value 2 / Item 3, value 3 / Item 4, value 4 / Item 5, value 5/ Item 6, value 6 / Item 7, value 7 / Item 8, value 8</combined>
Мне удалось сделать это только с узлом элементов, но как я могу получить приведенный выше результат? Пока это мой сценарий:
string text = File.ReadAllText(instance.Folder.InputFile.FullName);
XDocument doc = XDocument.Parse(text);
XElement root = doc.Root;
XElement Table= root.Element("Table");
Table.Add(new XElement("combined"));
XElement combined = Table.Element("combined");
string[] data = doc.Descendants("items").Select(x => (string)x).ToArray();
string splitData = string.Join(" / ", data.Select((x, i) => new { data = x, index = i }).GroupBy(x => x.index / 2).Select(x => string.Join(" , ", x.Select(y => y.data))));
combined.Add(splitData);
doc.Save(instance.Folder.InputFile.FullName);
Кто может мне помочь?