Форум программистов
 
О проблемах, например, с регистрацией пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail, а тут можно восстановить пароль.

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > C# (си шарп)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Здесь нужно купить рекламу за 20 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru
Без учёта ботов - 20000 человек в день, 350000 в месяц.

Ответ
 
Опции темы
Старый 12.09.2013, 11:44   #1
santaXZ
Пользователь
 
Аватар для santaXZ
 
Регистрация: 22.02.2012
Сообщений: 23
Печаль Как создать xml с хэшем

Здравствуй рунет и мир.

Необходимо реализовать утилиту которая будет:
1. Смотреть все папки и под папки из корня где лежит.
2. Считывать имя файла.
3. Считывать размер файла в байтах (Byte).
4. Считывать хэш в MD5.
5. Считывать путь до файла.
6. В одном xml файле создать список файлов с этими данными.

Ниже как должен выглядеть:
Код:
<?xml version="1.0" ?>
<FilesList>
  <File>
    <FileName>t1.exe</FileName>
    <Size>341920</Size>
    <Hash>ACA3DE83C0D3CB38193CB5C335E8B85</Hash>
    <Path>folder1\</Path>
  </File>
  <File>
    <FileName>t2.exe</FileName>
    <Size>441320</Size>
    <Hash>BCA3DE83C0D6CB37143CB4C335E6B62</Hash>
    <Path>folder1\folder2\</Path>
  </File>
</FilesList>
Вопрос как такое сделать
Время очень поджимает и экзамены на носу...
santaXZ вне форума Ответить с цитированием
Старый 12.09.2013, 11:52   #2
Rififi
Старожил
 
Регистрация: 19.08.2009
Сообщений: 2,120
По умолчанию

santaXZ

Необходимо реализовать утилиту которая будет:
1. Смотреть все папки и под папки из корня где лежит.
2. Считывать имя файла.
3. Считывать размер файла в байтах (Byte).
4. Считывать хэш в MD5.
5. Считывать путь до файла.
6. В одном xml файле создать список файлов с этими данными.


поздравляю с прекрасным выбором инструментария! в c# "из коробки" есть все вышеперечисленные возможности.

Вопрос как такое сделать

ну, наверное, читать документацию и пробовать.
если что не получается - с проблемным кодом сюда.

Время очень поджимает и экзамены на носу...

сдай сначала экзамены, а потом делай утилиту, т.к. в армии у тебя вряд ли останется время на программирование.
Rififi вне форума Ответить с цитированием
Старый 12.09.2013, 12:36   #3
santaXZ
Пользователь
 
Аватар для santaXZ
 
Регистрация: 22.02.2012
Сообщений: 23
По умолчанию

Цитата:
Сообщение от Rififi Посмотреть сообщение
santaXZ

Необходимо реализовать утилиту которая будет:
1. Смотреть все папки и под папки из корня где лежит.
2. Считывать имя файла.
3. Считывать размер файла в байтах (Byte).
4. Считывать хэш в MD5.
5. Считывать путь до файла.
6. В одном xml файле создать список файлов с этими данными.


поздравляю с прекрасным выбором инструментария! в c# "из коробки" есть все вышеперечисленные возможности.

Вопрос как такое сделать

ну, наверное, читать документацию и пробовать.
если что не получается - с проблемным кодом сюда.

Время очень поджимает и экзамены на носу...

сдай сначала экзамены, а потом делай утилиту, т.к. в армии у тебя вряд ли останется время на программирование.
То что я дал выше похожее будет на экзамене и я не просто так создал здесь сообщение.
Насчет армии нет проблем, не заберут.
santaXZ вне форума Ответить с цитированием
Старый 12.09.2013, 13:19   #4
Rififi
Старожил
 
Регистрация: 19.08.2009
Сообщений: 2,120
По умолчанию

santaXZ

я не просто так создал здесь сообщение.

не просто так, а с какой тогда целью?
пока это просто перепечатка задания, из него совершенно непонятно, что ты от нас хочешь?

если ты ищешь исполнителя не платной основе, то не указан бюджет задания.

Насчет армии нет проблем, не заберут.

тогда вообще проблем не вижу.

максимум, что тебе грозит в таком случае - не поступишь на высокооплачиваемую работу в IT, но с таким уровнем знаний и отношением к учебе она тебе в любом случае не светит, а для работы в макдональдс ВО не нужно
Rififi вне форума Ответить с цитированием
Старый 12.09.2013, 14:12   #5
santaXZ
Пользователь
 
Аватар для santaXZ
 
Регистрация: 22.02.2012
Сообщений: 23
По умолчанию

Цитата:
Сообщение от Rififi Посмотреть сообщение
santaXZ

я не просто так создал здесь сообщение.

не просто так, а с какой тогда целью?
пока это просто перепечатка задания, из него совершенно непонятно, что ты от нас хочешь?

если ты ищешь исполнителя не платной основе, то не указан бюджет задания.

Насчет армии нет проблем, не заберут.

тогда вообще проблем не вижу.

максимум, что тебе грозит в таком случае - не поступишь на высокооплачиваемую работу в IT, но с таким уровнем знаний и отношением к учебе она тебе в любом случае не светит, а для работы в макдональдс ВО не нужно
С целью сделать это задание полагаясь на добрых людей, которые решат эту проблему и тем более я все подробно описал что нужно.
Работа в IT это одно, мне просто надо пройти и сдать экзамен я на юриста учусь.
Но экзамен сдать это же важно , мне бы знать как сделать считайте что это будет как шпаргалка в голове на экзамене
santaXZ вне форума Ответить с цитированием
Старый 12.09.2013, 16:15   #6
Rififi
Старожил
 
Регистрация: 19.08.2009
Сообщений: 2,120
По умолчанию

santaXZ

считайте что это будет как шпаргалка в голове на экзамене

думаешь, она тебя спасет? (((: ведь пара вопросов - и ты "поплыл"...

в качестве наброска - вот, создается xml, но с некоторыми ограничениями

- md5 не считается - мне вломак
- нет рекурсивного обхода директории - см. выше
- это не программа целиком, а только часть её. сам по себе код работать не будет.

Код:
public class FilesList
{
	public class FileList
	{
		[XmlRoot("File")]
		public class FileInfo
		{
			[XmlElement("FileName")]
			public string name;
			[XmlElement("Size")]
			public UInt64 size;
			[XmlElement("Hash")]
			public string hash;
			[XmlElement("Path")]
			public string path;
		};

		[XmlElement("File")]
		public List<FileInfo> files = new List<FileInfo>();
	};

	public FilesList(string rootDir)
	{
		var dir = new DirectoryInfo(rootDir);
		var list = new FileList();
		list.files.AddRange(
			dir.GetFiles().Select(p => new FileList.FileInfo()
			{
				name = p.Name,
				size = (UInt64) p.Length,
				hash = "0",
				path = Path.GetDirectoryName(p.FullName)
			}));
		try
		{
			using (var wr = new StreamWriter("value.xml", false, Encoding.UTF8))
			{
				var serializer = new XmlSerializer(list.GetType());
				serializer.Serialize(wr, list);
			}
		}
		catch (Exception e)
		{
			Console.WriteLine(e.Message);
		}
	}
}
как говорится, enjoy :D
Rififi вне форума Ответить с цитированием
Старый 12.09.2013, 16:22   #7
santaXZ
Пользователь
 
Аватар для santaXZ
 
Регистрация: 22.02.2012
Сообщений: 23
По умолчанию

Цитата:
Сообщение от Rififi Посмотреть сообщение
santaXZ

считайте что это будет как шпаргалка в голове на экзамене

думаешь, она тебя спасет? (((: ведь пара вопросов - и ты "поплыл"...

в качестве наброска - вот, создается xml, но с некоторыми ограничениями

- md5 не считается - мне вломак
- нет рекурсивного обхода директории - см. выше
- это не программа целиком, а только часть её. сам по себе код работать не будет.

Код:
public class FilesList
{
	public class FileList
	{
		[XmlRoot("File")]
		public class FileInfo
		{
			[XmlElement("FileName")]
			public string name;
			[XmlElement("Size")]
			public UInt64 size;
			[XmlElement("Hash")]
			public string hash;
			[XmlElement("Path")]
			public string path;
		};

		[XmlElement("File")]
		public List<FileInfo> files = new List<FileInfo>();
	};

	public FilesList(string rootDir)
	{
		var dir = new DirectoryInfo(rootDir);
		var list = new FileList();
		list.files.AddRange(
			dir.GetFiles().Select(p => new FileList.FileInfo()
			{
				name = p.Name,
				size = (UInt64) p.Length,
				hash = "0",
				path = Path.GetDirectoryName(p.FullName)
			}));
		try
		{
			using (var wr = new StreamWriter("value.xml", false, Encoding.UTF8))
			{
				var serializer = new XmlSerializer(list.GetType());
				serializer.Serialize(wr, list);
			}
		}
		catch (Exception e)
		{
			Console.WriteLine(e.Message);
		}
	}
}
как говорится, enjoy :D
Спасибо и на этом
santaXZ вне форума Ответить с цитированием
Ответ

Здесь нужно купить рекламу за 20 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru
Без учёта ботов - 20000 человек в день, 350000 в месяц.

Опции темы


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как создать Word-таблицу XML-средствами? Скрипт Microsoft Office Word 0 19.02.2013 16:22
Как создать корпус текстов, если есть сам корпус с метатекстовой разметкой в xml и стеммер? Dilong-paradoxus Помощь студентам 0 17.04.2012 16:24
создать документ xml Алёна БД в Delphi 1 23.06.2010 18:41
Как создать xml документ? Longedok Помощь студентам 0 04.08.2008 15:48


Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru
Пеллетный котёл Emtas
котлы EMTAS
Здесь нужно купить рекламу за 7 тыс руб в месяц! )
пишите сюда - alarforum@yandex.ru
ИКС 840