Элементарная задачка - XML, добавление
Проще в БД загнать.
Это задача от Murr'а, там нет места для "проще" :D Тем более, что про ДБ ему сразу сказали и вариант с ДБ не подходит :D
А как вы потом этот XML собирать будете?
Кастомный сериализатор/десериализатор. Да и не нужно это все собирать ;) Задание состоит в том, чтобы добавлять данные ;)
Потом охренеет винда до 10ки.
Винды до 10ки уже давно не поддерживаются майкрософтом :D
Из-за ограничения длины полного имени файла на 260 символов.
Ну так UNC имена решают ;)
Ну и опять же - остаётся загадкой куда ж вставлять-то охота. По файловой системе искать файлики тоже времени стоит немало.
XPath дает путь к каталогу, так что надо просто создать папочку, если ее еще нет, и записать туда нужную информацию.
XPath дает путь к каталогу, так что надо просто создать папочку, если ее еще нет, и записать туда нужную информацию.
Можно, конечно. Но поискать-то придётся. А если у нас в каталоге пара тысяч подкаталогов (да, для одинаковых элементов придётся ещё какие-то индексы придумывать, двоеточие кодировать...), то просто получить их список легко займёт все 20 мс.
Но XPath-у места тут нет. На 10 гигах поиск по XPath займёт несколько секунд. Если у нас памяти хватит. XPath только на DOMе работает (если мне склероз не изменяет...)
странные какие-то вводные
-----
Конечно.
Ведь они даны именно под то, чего ты не знаешь.
Нахождение решения дало бы тебе знания в двух областях в которых ты откровенно слаб...
Да никто уже давно из нормальных людей не использует XML для хранения данных. Если чисто хранение, то джейсон лучше подходит - не такой многословный.
Кстати, ваш метод для джейсона сработает?
ваш метод для джейсона сработает?
-----
Не проверял.
Но, видишь ли, если применяемое решение не будет работать на джейсоне - всегда можно применить ту же методику по которой получено решение и найти что-то подходящее...
Твои проблемы в двух вещах :
- очень мало знаешь
- не умеешь быстро изучать проблему.
Работай над собой...
Вместо 10 минут на добавление одного фрагмента надо сделать... хммм... 100 милисекунд... хотя, пожалуй, много.. 20-ти хватит...
Имхо всё зависит наверное от архитектуры, типа диска и файловой системы. Если это всё делать в ОЗУ или на SSD, то наверное будет быстрее, не зря ведь IMDB наберает популярность. Может что-нибудь такое https://stackoverflow.com/questions/4942884/how-to-create-in-memory-xml-document-and-get-string-out-of-it или http://csharphelper.com/blog/2014/09/build-a-formatted-xml-document-in-memory-in-c/?
XML на несколько гигов - в принципе нерабочая история :)
-----
ХМЛ на несколько гигов - это достаточно регулярная задача.
Стандартные либы - это какие? Да и собственно говоря зачем им это? :)
-----
Скажем так - все что в System.Xml.*...
Это - не зачем, для чего.
Целей у задачи много.
Одна из целей - достичь понимания того, что РАМа не бесконечна и надо уметь работать не только с обьектом в памяти.
Другая - что мало не знать - знать все невозможно - но надо еще оставаться тупым, не изучая ничего нового... или старого, что не было изучено.
Прикол в том, что задача не понята ТОБОЙ :)
Точнее говоря, тобой не понята групость и несуразность этой задачи.
Он не может отказаться. Менеджер сказал - значит закон.
А что, правда увольняют за то, что подобной задачи решить не смог? Есть такой подход - до первого проё...а. Т.е. что бы ты ни сделал, какие бы заслуги ни были, а после первого же проё...а дают пинка под зад. А то и просто дают, если найдут кого получше.