Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Общие вопросы по .NET и C# > XmlReader


Автор: yep 15.7.2008, 15:02
Почему все методы строки reader.GetAttribute("name"), а также обращение к символу по индексу делают исключение?
An unhandled exception of type 'System.NullReferenceException' occured in ConsoleApplication1.exe
Additional information: Object reference not set to an instance of an object.

Автор: Partizan 15.7.2008, 15:07
yep, может быть потому что reader равен null?  smile 

Автор: yep 15.7.2008, 15:25
Не должен ( XmlReader reader = XmlReader.Create("C:/1.xml", settings) )
Console.WriteLine(reader.GetAttribute("name")) работает как надо

Автор: Любитель 15.7.2008, 15:28
Цитата(yep @  15.7.2008,  15:25 Найти цитируемый пост)
Не должен ( XmlReader reader = XmlReader.Create("C:/1.xml", settings) )
Console.WriteLine(reader.GetAttribute("name")) работает как надо

И как же? Смею предположить, что такого атрибута нет smile

Автор: yep 15.7.2008, 19:14
Цитата(Любитель @ 15.7.2008,  15:28)
Цитата(yep @  15.7.2008,  15:25 Найти цитируемый пост)
Не должен ( XmlReader reader = XmlReader.Create("C:/1.xml", settings) )
Console.WriteLine(reader.GetAttribute("name")) работает как надо

И как же? Смею предположить, что такого атрибута нет smile

Возвращает значение атрибута name. Если атрибута name нет. Возвращается пустая строка. Вроде бы всё хорошо, вызывается метод для получения строки, желаемая строка и возвращается. Но стоит для этой строки вызвать метод или обратиться к символу по индесу, делается исключение.

Автор: yep 15.7.2008, 19:37
Код

XmlReaderSettings settings = new XmlReaderSettings();
settings.ConformanceLevel = ConformanceLevel.Fragment;
settings.IgnoreWhitespace = true;
settings.IgnoreComments = true;
XmlReader reader = XmlReader.Create("C:/1.xml", settings);

while (reader.Read())
{
    if (reader.HasAttributes)
    {
        Console.WriteLine(reader.GetAttribute("name")/*[0]*/);
    }
}


Автор: yep 16.7.2008, 20:17
up

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)