Я много искал, но не смог найти правильного решения для моей проблемы.Я написал XML-файл, содержащий всю информацию о сериале ТВ-шоу.Это 38 КБ и содержит атрибуты и строки для около 680 переменных.Сначала я просто прочитал его с помощью XMLTextReader, который отлично работал с моим четырехъядерным процессором.Но моему жене, пятилетнему ноутбуку, потребовалось около 30 секунд, чтобы прочитать его.Поэтому я подумал о многопоточности, но получаю исключение, потому что файл уже открыт.
Начало потока выглядит следующим образом
while (reader.Read())
{
...
else if (reader.NodeType == XmlNodeType.Element)
{
if (reader.Name.Equals("Season1"))
{
current.seasonNr = 0;
current.currentSeason = season[0];
current.reader = reader;
seasonThread[0].Start(current);
}
else if (reader.Name.Equals("Season2"))
{
current.seasonNr = 1;
current.currentSeason = season[1];
current.reader = reader;
seasonThread[1].Start(current);
}
И метод синтаксического анализа, как этот
reader.Read();
for (episodeNr = 0; episodeNr < tmp.currentSeason.episode.Length; episodeNr++)
{
reader.MoveToFirstAttribute();
tmp.currentSeason.episode[episodeNr].id = reader.ReadContentAsInt();
...
}
Но это не работает ...
Я передаю читателю, потому что я хочу, чтобы курсор находился в правильном положении.Но я также понятия не имею, может ли это вообще сработать.
Пожалуйста, помогите!
РЕДАКТИРОВАТЬ: Ребята, где я написал о IE ??Программа, которую я написал, анализирует файл.Я запускаю его на своем компьютере и на ноутбуке.IE вообще нет.
EDIT2: Я провел некоторое исследование секундомера и выяснил, что анализ файла xml занимает всего около 200 мс на моем ПК и 800 мс на ноутбуке с жёсткими дисками.WPF работает так медленно?Что я могу сделать?