Обработка документов XML — это большая и сложная тема, обсуждение которой далеко выходит за рамки этой книги. Тем не менее, мы рассмотрим простой пример синтаксического анализа документа XML, представленного в примере 19.8. В этом файле определен список из нескольких книг о Python, выпущенных издательством O’Reilly, содержащий номера ISBN в виде атрибутов, а также названия, даты публикации и имена авторов в виде вложенных тегов (приношу извинения авторам, чьи книги не попали в этот список, отобранный совершенно случайно, — книг так много!).
Пример 19.8. PP4E\Lang\Xml\books.xml
<book isbn="0-596-00128-2">
<title>Python & XML</title>
<date>December 2001</date>
<author>Jones, Drake</author>
</book>
<book isbn="0-596-15810-6">
<title>Programming Python, 4th Edition</title>
<date>October 2010</date>
<author>Lutz</author>
</book>
<book isbn="0-596-15806-8">
<title>Learning Python, 4th Edition</title>
<date>September 2009</date>
<author>Lutz</author>
</book>
<book isbn="0-596-15808-4">
<title>Python Pocket Reference, 4th Edition</title>
<date>October 2009</date>
<author>Lutz</author>
</book>
<book isbn="0-596-00797-3">
<title>Python Cookbook, 2nd Edition</title>
<date>March 2005</date>
<author>Martelli, Ravenscroft, Ascher</author>
</book>
<book isbn="0-596-10046-9">
<title>Python in a Nutshell, 2nd Edition</title>
<date>July 2006</date>
<author>Martelli</author>
</book>
<!— плюс еще много, много книг о Python, которые должны бы быть здесь —>
</catalog>
Рассмотрим для примера способы извлечения из этого файла номеров ISBN и соответствующих им названий, воспользовавшись всеми четырьмя основными инструментами Python, имеющимися в нашем распоряжении — шаблонами и парсерами SAX, DOM и ElementTree.
Использованная литература:
Марк Лутц — Программирование на Python, 4-е издание, II том, 2011