Главная » 2009 » Март » 20 » C# и XML. Удобный способ хранения данных. Часть вторая
11:15
C# и XML. Удобный способ хранения данных. Часть вторая
Уникальный ID.
Вроде основное объяснил. Теперь все же вернемся к нашему айдишнику. Что бы сделать его уникальным, нам нужно что бы в каждой записи он был разным. Для этого делаем следующее: при создании новой записи ищем максимальное значение ID, добавляем к нему единицу и пишем в базу. Если записей в базе еще нет, то присваиваем ID значение 1. То есть у нас получается max(id)++.
List<int> idList = new List<int>(); // Создаем массив айдишников
int id; // отдельно взятый айдишник
XmlDocument xd = new XmlDocument();
FileStream fs = new FileStream(filepath, FileMode.Open);
xd.Load(fs);
XmlNodeList list = xd.GetElementsByTagName("user");
// Если в базе есть записи
if (list.Count > 0)
{
for (int i = 0; i < list.Count; i++)
{
XmlElement user = (XmlElement)xd.GetElementsByTagName("user")[i];
id = Convert.ToInt32(user.GetAttribute("id")); // Считывае ID
idList.Add(id); // Добавляем его в массив
}
// Ищем собсна максимальное значение.
int result = 0;
foreach (int j in idList)
if (j > result)
result = j;
result++; // Добавляем единуцу к максимальному значению
fs.Close(); // Закрываем поток
return result.ToString(); // Возвращаем результат
}
else
{
fs.Close();
return"1"; // Возвращаем единицу
}
}
int>int>
Для вычисления максимального значения нам для начала необходимо создать массив из значений ID. Здесь я создаю его с помощью элемента List. Дальше в цикле заполняем его и уже потом ищем максимум.
И кстати, необходимо в таком случае немного изменить функцию записи в базу. В самое начало функции вносим переменную, которая будет хранить нужный ID:
Тут такой вопрос пишу программу для создание прайс листов. Т.е. В програме создается xml лист, а визуально он отображаться будет во flash Вопрос в следующем как из диалога открыть выбрать только путь к изображению и записать его в узел xml <img>../images/бла/бла/<img>
Мног искал в инете инфы по XML в C#, но все что находил было написано БредоНедоПрофессорами. Спасибо за доступные для понимания статьи. Теперь умею создавать и читать XML документы. Хотелось чтобы вы также понятно рассказали и о том как удалять и редактировать записи в XML доках. Спасибо.
Все хорошо описано, а не могли бы показать как сформировать из дерева данных treeView хмл документ тут видимо нужно формировать его во время обхода по дереву но пока я себе ето не очень представляю было бы неплохо увидетья пример простой реализации.