Записная книжка в формате 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>