Атрибуты в xml - C#

Узнай цену своей работы

Формулировка задачи:

Есть код:
            for (int i = 0; i < l; i++) // Иду по x-у, l = Длина матрицы
            {
                for (int j = 0; j < t; j++) // Иду по y-ку, t = Высота матрицы
                {
                    x_attribute = x_document.CreateAttribute( "tile" + Convert.ToString(i) + ":" + Convert.ToString(j) );
//Для каждой ячейки массива создаю атрибут в файле xml, с названием в формате (tile текущий i : текущий j)
                    x_attribute.Value = " "; // Задаю атрибуту стандартное значение
                    x_node.Attributes.Append(x_attribute); // Добавляю атрибут
                }
            }
Этот код должен в файл xml добавить матрицу пробелов с размером l,t. Назание каждого атрибута должно быть примерно таково : tileТекущийi:Текущийj Но вместо этого когда я пытаюсь создать матрицу размером 3 на 3, в файле появляються 3 атрибута с названиями 0, 1 и 2! В чем проблема? (И да, мне именно так нужно сохранять матрицу)

Решение задачи: «Атрибуты в xml»

textual
Листинг программы
using System;
using System.Collections.Generic;
using System.Linq;
using System.Xml.Linq;
 
namespace xml
{
    public static class ExMethods
    {
        public static IEnumerable<Tuple<int, int>> Create2DIterator(this int[,] arr2D)
        {
            for (int i = 0, j; i < arr2D.GetLength(0); ++i)
                for (j = 0; j < arr2D.GetLength(1); ++j)
                    yield return Tuple.Create(i, j);
        }
    }
    class Program
    {
        static void Main(string[] args)
        {
            var arr = new[,]
        {
            {1,2,3},
            {4,5,6},
            {7,8,9}
        };
            var xDocument = new XDocument(
            new XDeclaration(null, "utf-8", null),
            new XElement("root",
                new XElement("Матрица", arr.Create2DIterator().Select(n => new XAttribute("tile" + n.Item1 + "_" + n.Item2, arr[n.Item1, n.Item2])))));
 
 
            Console.WriteLine(xDocument);
 
            xDocument.Save("test.xml");
 
            Console.ReadKey(true);
        }
    }
}

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


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

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

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