Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
XML-Лекция 4. Обработка XML в C#.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
408.56 Кб
Скачать

2.3. Контроль типов данных при чтении Xml-документа

Класс XmlReader также позволяет считывать данные со строгим контролем типов. Для этого используются методы ReadElementContentAs... ReadElementContentAsDouble(), ReadElementContentAsBoolean() и другие. Далее показано как можно считывать значение в десятичном формате и выполнять вычисления. В примере выбирается значение цены книги, которое увеличивается на 25%.

Создадим еще одну кнопку с надписью New Price, а в ее обработчике напишем код:

private void btnNewPrice_Click(object sender, EventArgs e)

{

//Обработчик кнопки NewPrice - контроль типов

richTextBox1.Clear();

XmlReader rdr = XmlReader.Create("book2.xml");

while (rdr.Read())

{

if (rdr.NodeType == XmlNodeType.Element)

{

if (rdr.Name == "PRICE")

{

decimal price = rdr.ReadElementContentAsDecimal();

richTextBox1.AppendText("Curent Price = "+ price+ "\r\n");

price += price * (decimal)0.25;

richTextBox1.AppendText("New Price = " + price + "\r\n\r\n");

}

else if (rdr.Name=="TITLE")

richTextBox1.AppendText(rdr.ReadElementContentAsString()+"\r\n");

}

}

rdr.Close();

}

Если это значение не может быть преобразовано к требуемому типу, возбуждается исключение FormatException.

Компилируем и запускаем на выполнение наш проект.

В результате получаем сообщение об ошибке. Причина – текст элемента имеет вид:

<PRICE>$10.95</PRICE>

Исправим все элементы <PRICE> 10.95</PRICE>,

а документ сохраним под именем ("book3.xml");

В результате получим:

3. Создание xml-документа в Visual Studio

Для создания XML-файла в среде Visual Studio нужно в меню File выбрать New->File. В окне создания выбрать Xml-файл

Откроется Xml-редактор, в котором можно вводить элементы Xml. Редактор автоматически проверяет ошибки и подставляет закрывающие теги. Созданный файл можно сохранить в нужном месте на диске командой SaveXmlFile.xml As...

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]