Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

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

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

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 12.09.2013, 12: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, 12:52   #2
Rififi
Старожил
 
Регистрация: 19.08.2009
Сообщений: 2,119
По умолчанию

santaXZ

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


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

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

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

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

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

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

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


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

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

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

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

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

santaXZ

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

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

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

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

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

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

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

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

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

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

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

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

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

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, 17: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 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


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