fork download
  1. using System;
  2. using System.IO;
  3. using System.Linq;
  4. using System.Xml.Linq;
  5.  
  6. class Program
  7. {
  8. static void Main()
  9. {
  10. string inputXmlPath = "input.xml"; // Имя существующего XML-файла
  11. string outputXmlPath = "output.xml"; // Имя выходного XML-файла
  12.  
  13. if (!File.Exists(inputXmlPath))
  14. {
  15. Console.WriteLine("Файл не найден!");
  16. return;
  17. }
  18.  
  19. // Загружаем XML-документ
  20. XDocument xmlDoc = XDocument.Load(inputXmlPath);
  21.  
  22. // Обрабатываем элементы первого уровня с атрибутами
  23. foreach (var element in xmlDoc.Root.Elements().Where(e => e.HasAttributes))
  24. {
  25. // Создаем новый элемент <attr> с теми же атрибутами
  26. XElement attrElement = new XElement("attr", element.Attributes());
  27.  
  28. // Добавляем этот элемент в конец дочерних узлов
  29. element.Add(attrElement);
  30.  
  31. // Удаляем атрибуты из исходного элемента
  32. element.ReplaceAttributes();
  33. }
  34.  
  35. // Сохраняем измененный XML в файл
  36. xmlDoc.Save(outputXmlPath);
  37.  
  38. Console.WriteLine($"Измененный XML-файл '{outputXmlPath}' успешно создан.");
  39. }
  40. }
Success #stdin #stdout 0.05s 33244KB
stdin
Standard input is empty
stdout
Файл не найден!