Не читается XML из внешнего файла.

Язык Visual Basic на платформе .NET.

Модераторы: Ramzes, Sebas

viter.alex
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 221
Зарегистрирован: 27.07.2008 (Вс) 20:17
Откуда: Montreal

Не читается XML из внешнего файла.

Сообщение viter.alex » 30.08.2010 (Пн) 9:28

Процедура читает скин из файла XML
Код: Выделить всё
  Private Sub LoadSkin(ByVal File As String, ByRef DocXML As XmlDocument)
    DocXML = New XmlDocument

    Try
      DocXML.LoadXml(File)
    Catch ex As Exception
      MsgBox("Не удалось загрузить скин. Сообщение об ошибке:" & vbCr & ex.Message, MsgBoxStyle.Critical Or MsgBoxStyle.OkOnly, My.Application.Info.ProductName)
      Exit Sub
    End Try
    ClockFace = New Bitmap(sPath & DocXML.DocumentElement.Attributes("ClockFace").Value)
    ClockGlass = New Bitmap(sPath & DocXML.DocumentElement.Attributes("ClockGlass").Value)
    ClockHourArrow = New Bitmap(sPath & DocXML.DocumentElement.Attributes("HourArrow").Value)
    ClockMinuteArrow = New Bitmap(sPath & DocXML.DocumentElement.Attributes("MinuteArrow").Value)
    ClockSecondArrow = New Bitmap(sPath & DocXML.DocumentElement.Attributes("SecondArrow").Value)
    ClockDot = New Bitmap(sPath & DocXML.DocumentElement.Attributes("Dot").Value)
  End Sub

Если передать в неё файл из ресурсов, My.Resources.DefaultSkin, то всё нормально. Если тот же самый файл открывать с диска, то появляется ошибка:
Изображение
Содержимое XML абсолютно одинаковое.
Последний раз редактировалось viter.alex 30.08.2010 (Пн) 15:40, всего редактировалось 1 раз.
Лучше день потерять — потом за пять минут долететь!

iGrok
Артефакт VBStreets
Артефакт VBStreets
 
Сообщения: 4272
Зарегистрирован: 10.05.2007 (Чт) 16:11
Откуда: Сетевое сознание

Re: Не читается XML из внешнего файла.

Сообщение iGrok » 30.08.2010 (Пн) 15:04

Ну так выложи это одинаковое.
99% ты зачем-то сохранил его через блокнот, который добавил в начало BOM.
label:
cli
jmp label

viter.alex
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 221
Зарегистрирован: 27.07.2008 (Вс) 20:17
Откуда: Montreal

Re: Не читается XML из внешнего файла.

Сообщение viter.alex » 30.08.2010 (Пн) 15:18

Вот файл, но я его делал программно. Посмотрел через Notepad++, никаких лишних символов там нет:
Изображение
Лучше день потерять — потом за пять минут долететь!

iGrok
Артефакт VBStreets
Артефакт VBStreets
 
Сообщения: 4272
Зарегистрирован: 10.05.2007 (Чт) 16:11
Откуда: Сетевое сознание

Re: Не читается XML из внешнего файла.

Сообщение iGrok » 30.08.2010 (Пн) 15:33

Хм, странно.

А то, что там везде читается DocXML, а файл грузится в SkinFile - это нормально?
label:
cli
jmp label

viter.alex
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 221
Зарегистрирован: 27.07.2008 (Вс) 20:17
Откуда: Montreal

Re: Не читается XML из внешнего файла.

Сообщение viter.alex » 30.08.2010 (Пн) 15:39

Я просто забыл исправить при выделении в отдельную процедуру. Если бы загрузка из внешнего файла прошла, я бы ошибку увидел
Лучше день потерять — потом за пять минут долететь!

iGrok
Артефакт VBStreets
Артефакт VBStreets
 
Сообщения: 4272
Зарегистрирован: 10.05.2007 (Чт) 16:11
Откуда: Сетевое сознание

Re: Не читается XML из внешнего файла.

Сообщение iGrok » 30.08.2010 (Пн) 17:58

Х.З. Странно. Проверяй, тот ли файл ты грузишь, и т.п.
Т.к. вот это:
Код: Выделить всё
System.Xml.XmlDocument xdoc = new System.Xml.XmlDocument();
try
{
  xdoc.Load("d:\\chrono.xml");
}
catch (Exception err)
{
  MessageBox.Show(err.Message);
}
MessageBox.Show(xdoc.OuterXml);

Работает, и выдаёт содержимое документа.
label:
cli
jmp label

viter.alex
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 221
Зарегистрирован: 27.07.2008 (Вс) 20:17
Откуда: Montreal

Re: Не читается XML из внешнего файла.

Сообщение viter.alex » 31.08.2010 (Вт) 4:59

Спасибо, iGrok, я разобрался. Метод LoadXML грузит содержимое из строки, а Load из файла. Здесь я и запутался. Вот что значит две бессонных ночи
Лучше день потерять — потом за пять минут долететь!


Вернуться в Visual Basic .NET

Кто сейчас на конференции

Сейчас этот форум просматривают: Yandex-бот и гости: 4

    TopList