Записная книжка в формате XML

Записная книжка в формате XML

В предыдущей главе мы рассматривали сценарий для работы с записной книжкой, которая хранится в простом текстовом файле book.txt с разделителями. Каждая строка этого файла содержала одну запись в формате Фамилия|Имя|Телефон|Улица|Дом|Кв.|Примечание:

Потапов|Сергей|55-55-55|Моховая|3|10|Без примечаний

Попов|Андрей|56-56-56|Ленина|3|5|Без примечаний

Иванов|Иван|17-17-17|Садовая|4|6|Очень хороший человек

Казаков|Сергей|24-19-68|Полежаева|101|22|Тоже очень хороший человек

Для преобразования файла book.txt к формату XML мы введем теги, описанные в табл. 6.1.

Таблица 6.1. Описание тегов для записной книжки в XML-формате

Тег Значение <PhoneList> Корневой тег, обозначает начало записной книжки <Person> Обозначает начало новой записи в книжке <LastName> Фамилия человека <Name> Имя <Phone> Телефон <Street> Улица <House> Дом <App> Квартира <Note> Замечания

Иерархия элементов из таблицы 6.1 показана в листинге 6.1.

Листинг 6.1. Иерархия XML-элементов для записной книжки

<?xml version="1.0" standalone="yes"?>

<PhoneList>

 <Person>

 <LastName> Фамилия </LastName>

 <Name> Имя </Name>

 <Phone> Телефон </Phone>

 <Street> Улица </Street>

 <House> Дом </House>

 <App> Квартира </App>

 <Note> Примечание </Note>

 </Person>

 Другие записи

</PhoneList>

Файл book.xml для записной книжки формируется в соответствии с листингом 6.1 (листинг 6.2)

Листинг 6.2. Содержимое файла book.xml

<?xml version="1.0" encoding="windows-1251"?>

<PhoneList>

 <!-- корневой тэг, список людей -->

 <Person>

  <LastName>Потапов</LastName>

  <Name>Сергей</Name>

  <Phone>55-55-55</Phone>

  <Street>Моховая</Street>

  <House>3</House>

  <App>10</App>

  <Note>Без примечаний</Note>

 </Person>

 <Person>

  <LastName>Попов</LastName>

  <Name>Андрей</Name>

  <Phone>56-56-56</Phone>

  <Street>Ленина</Street>

  <House>3</House>

  <App>5</App>

  <Note>Без примечаний</Note>

 </Person>

 <Person>

  <LastName>Иванов</LastName>

  <Name>Иван</Name>

  <Phone>17-17-17</Phone>

  <Street>Садовая</Street>

  <House>4</House>

  <App>6</App>

  <Note>Очень хороший человек</Note>

 </Person>

 <Person>

  <LastName>Казаков</LastName>

  <Name>Сергей</Name>

  <Phone>24-19-68</Phone>

  <Street>Полежаева</Street>

  <House>101</House>

  <App>22</App>

  <Note>Тоже очень хороший человек</Note>

 </Person>

</PhoneList>