Tantangan
Tulis program yang, menggunakan data XML dari situs di sini , menampilkan nama program yang saat ini ditampilkan di BBC 1.
Informasi
Semua waktu diberikan pada waktu London (GMT + 1 pada saat posting dan GMT + 0 setelah 30 Oktober). Karena itu, Anda harus mengubah waktu lokal Anda ke waktu London.
Setiap program diberi waktu mulai dan berakhir. Jika waktu saat ini adalah setelah waktu mulai dan sebelum waktu akhir suatu program, program itu sedang ditampilkan. Program Anda dapat menangani tumpang tindih dengan cara apa pun yang Anda inginkan.
Output Anda haruslah judul program, seperti:
BBC News
Namun, jika program memiliki subtitle (ditunjukkan oleh keberadaan tag subtitle), hasilnya harus seperti ini:
Steptoe and Son: The Piano
Di mana Steptoe and Son adalah judul dan The Piano adalah subtitle. Contoh program dengan subtitle adalah sebagai berikut:
<programme>
<subtitle>Newcastle</subtitle>
<title>Flog It!</title>
<end>1710</end>
<start>1610</start>
<desc>
Antiques series. Paul Martin presents from the Discovery Museum in Newcastle. The items uncovered include a book of autographs with a local connection. Also in HD. [S]
</desc>
</programme>
Penyingkat URL tidak diizinkan tetapi parsing pustaka XML diizinkan.
Kemenangan
Kode terpendek dalam byte menang.
Jawaban:
Bash + curl + XMLStarlet, 166 karakter
Contoh dijalankan:
sumber
Python,
440428426398395 Bytes-31 Bytes terima kasih kepada @Loovjo
Melempar kesalahan saat menemukan tanggal.
Tolong jangan sakiti saya untuk parsing xml dengan regex.
versi menggunakan parser xml, 398 Bytes
sumber
break
dengan sesuatu yang menyebabkan kesalahan (seperti1/0
(atau bahkan mungkin_
)). Saya cukup yakin kiriman Anda dapat keluar dengan kesalahan.urllib
untuk menggunakanrequests
dalam contoh pertama Anda:x=requests.get(link).text.split("</p")[:-1]
. Itu akan menghemat 2 byte.