Работа с xml деревьями - C#
Формулировка задачи:
есть строка в виде xml, интересует как взять из дерева объектов родителя и всех его потомков, в виде дерева и превратить в строку, т.е. имеем строку
нужно получить
<root> <родитель1> <дитё1> </дитё1> </родитель1> <родитель2> <дитё2> </дитё2> </родитель2> </root>
<родитель2> <дитё2> </дитё2> </родитель2>
Решение задачи: «Работа с xml деревьями»
textual
Листинг программы
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Xml.Linq;
namespace ConsoleApplication2
{
class Program
{
static void Main(string[] args)
{
string str = @"<coord>
<_1idkomn>
<_2kolkom>
<_1komand>
<_0koord>
<x>1</x>
<y>2</y>
<z>3</z>
</_0koord>
<_1>
<_1>_2_3</_1>
</_1>
</_1komand>
<_2komand>
<_0>
<_1>yz</_1>
</_0>
<_1>
<_1>_2_3</_1>
</_1>
</_2komand>
</_2kolkom>
<_3kolkom>
<_1komand3>
<_0>
<_1>yz</_1>
</_0>
<_1>
<_1>_2_3</_1>
</_1>
</_1komand3>
<_2komand3>
<_0>
<_1>yz</_1>
</_0>
<_1>
<_1>_2_3</_1>
</_1>
</_2komand3>
<_3komand3>
<_0>
<_1>yz</_1>
</_0>
<_1>
<_1>_2_3</_1>
</_1>
</_3komand3>
</_3kolkom>
</_1idkomn>
<_2>
<_2>
<_1>
<_0>
<_1>yz</_1>
</_0>
<_1>
<_1>_2_3</_1>
</_1>
</_1>
<_2>
<_0>
<_1>yz</_1>
</_0>
<_1>
<_1>_2_3</_1>
</_1>
</_2>
</_2>
<_3>
<_1>
<_0>
<_1>yz</_1>
</_0>
<_1>
<_1>_2_3</_1>
</_1>
</_1>
<_2>
<_0>
<_1>yz</_1>
</_0>
<_1>
<_1>_2_3</_1>
</_1>
</_2>
<_3>
<_0>
<_1>yz</_1>
</_0>
<_1>
<_1>_2_3</_1>
</_1>
</_3>
</_3>
</_2>
</coord>";
XElement myElement = XElement.Parse(str);
IEnumerable<XElement> myNewElement = myElement.Descendants("_1idkomn");
foreach (XElement xe in myNewElement)
Console.WriteLine(xe);
Console.WriteLine(myNewElement.Count());
}
}
}