Работа с 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());
        }
    }
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

11   голосов , оценка 4 из 5