Download the library.xml file. The root element is CATALOG and contains a series of BOOK elements, each of which represents a single BOOK. Each BOOK element has a number of child elements such as AUTHOR, TITLE, GENRE, PRICE and so on.
Python Language 3.8
Add comments for each line
Thank you
Write a program to read the file and print out the following information with an appropriate message:
1. (40 points) Write a function called display_book that prints the title, author, and price of the book with a certain id (passed as a parameter). Example call: display_book(“bk107”)
2. (30 points) Display the title, author, and price of each Computer book released in December.
3. (30 points) Print all the genres in the file.
This is the library.xml file:
<?xml version="1.0" encoding="UTF-8"?>
<catalog>
<book id="bk101">
<author>Gambardella, Matthew</author>
<title>XML Developer's Guide</title>
<genre>Computer</genre>
<price>44.95</price>
<publish_date>2000-10-01</publish_date>
<description>An in-depth look at creating applications
with XML.</description>
</book>
<book id="bk102">
<author>Ralls, Kim</author>
<title>Midnight Rain</title>
<genre>Fantasy</genre>
<price>5.95</price>
<publish_date>2000-12-16</publish_date>
<description>A former architect battles corporate
zombies,
an evil sorceress, and her own childhood to become queen
of the world.</description>
</book>
<book id="bk103">
<author>Corets, Eva</author>
<title>Maeve Ascendant</title>
<genre>Fantasy</genre>
<price>5.95</price>
<publish_date>2000-11-17</publish_date>
<description>After the collapse of a nanotechnology
society in England, the young survivors lay the
foundation for a new society.</description>
</book>
<book id="bk104">
<author>Corets, Eva</author>
<title>Oberon's Legacy</title>
<genre>Fantasy</genre>
<price>5.95</price>
<publish_date>2001-03-10</publish_date>
<description>In post-apocalypse England, the mysterious
agent known only as Oberon helps to create a new life
for the inhabitants of London. Sequel to Maeve
Ascendant.</description>
</book>
<book id="bk105">
<author>Corets, Eva</author>
<title>The Sundered Grail</title>
<genre>Fantasy</genre>
<price>5.95</price>
<publish_date>2001-09-10</publish_date>
<description>The two daughters of Maeve, half-sisters,
battle one another for control of England. Sequel to
Oberon's Legacy.</description>
</book>
<book id="bk106">
<author>Randall, Cynthia</author>
<title>Lover Birds</title>
<genre>Romance</genre>
<price>4.95</price>
<publish_date>2000-09-02</publish_date>
<description>When Carla meets Paul at an ornithology
conference, tempers fly as feathers get
ruffled.</description>
</book>
<book id="bk107">
<author>Thurman, Paula</author>
<title>Splish Splash</title>
<genre>Romance</genre>
<price>4.95</price>
<publish_date>2000-11-02</publish_date>
<description>A deep sea diver finds true love twenty
thousand leagues beneath the sea.</description>
</book>
<book id="bk108">
<author>Knorr, Stefan</author>
<title>Creepy Crawlies</title>
<genre>Horror</genre>
<price>4.95</price>
<publish_date>2000-12-06</publish_date>
<description>An anthology of horror stories about
roaches,
centipedes, scorpions and other insects.</description>
</book>
<book id="bk109">
<author>Kress, Peter</author>
<title>Paradox Lost</title>
<genre>Science Fiction</genre>
<price>6.95</price>
<publish_date>2000-11-02</publish_date>
<description>After an inadvertant trip through a
Heisenberg
Uncertainty Device, James Salway discovers the problems
of being quantum.</description>
</book>
<book id="bk110">
<author>O'Brien, Tim</author>
<title>Microsoft .NET: The Programming
Bible</title>
<genre>Computer</genre>
<price>36.95</price>
<publish_date>2000-12-09</publish_date>
<description>Microsoft's .NET initiative is explored in
detail in this deep programmer's
reference.</description>
</book>
<book id="bk111">
<author>O'Brien, Tim</author>
<title>MSXML3: A Comprehensive Guide</title>
<genre>Computer</genre>
<price>36.95</price>
<publish_date>2000-12-01</publish_date>
<description>The Microsoft MSXML3 parser is covered in
detail, with attention to XML DOM interfaces, XSLT
processing,
SAX and more.</description>
</book>
<book id="bk112">
<author>Galos, Mike</author>
<title>Visual Studio 7: A Comprehensive
Guide</title>
<genre>Computer</genre>
<price>49.95</price>
<publish_date>2001-04-16</publish_date>
<description>Microsoft Visual Studio 7 is explored in
depth,
looking at how Visual Basic, Visual C++, C#, and ASP+ are
integrated into a comprehensive development
environment.</description>
</book>
</catalog>
I'm providing you the simplest code for all the questions you specified you can easily got them
import xml.etree.ElementTree as ET
# 1.(40 points) Write a function called display_book that prints the title,
# author, and price of the book with a certain id (passed as a parameter).
# Example call: display_book(“bk107”)
def display_book(item):
root = ET.parse(source = "library.xml")
books = root.iter("book")
for book in books:
book_id = book.attrib["id"]
if book_id == item:
print("The title:" , book.find("title").text,", Author:", book.find("author").text, ", Price:", "$"+book.find("price").text,", Book id:" ,item,"\n")
#main
display_book("bk107")
# 2.(30 points) Display the title, author, and price of each Computer book released in December.
def computerbook_Dec():
root = ET.parse(source = "library.xml")
books = root.iter("book")
print("Computer books released in December:")
for book in books:
date = book.find("publish_date").text
if "12" in date:
print("The title:" , book.find("title").text,", Author:", book.find("author").text, ", Price:", "$"+book.find("price").text, ", the date published:", book.find("publish_date").text,"\n")
computerbook_Dec()
# 3.(30 points) Print all the genres in the file.
def genres():
root = ET.parse(source = "library.xml")
genres = root.iter("book")
print("All the genres in the file:")
genre_list = []
for genre in genres :
genre = genre.find("genre").text
genre_list.append(genre)
genre_list = sorted(set(genre_list))
for genre in genre_list:
print (genre)
genres()
Still you have any problem with that you can search and can easily get to know the functions and usage
Hope this may help you
Thank you ?
Download the library.xml file. The root element is CATALOG and contains a series of BOOK elements,...
the OOP project is needed to be coded in netbeans and store a information in file on local machine it could be stored with xml tags since its easier. OOP Project Description Requirements: You are to design and build software media rental system. The software will track each user’s account with its rentals. A user can rent multiple media of different type/genre and all that user’s rentals are managed under their account (single account per user). A user will be...