Exercicis XML
- Crea un projecte nou per exercicis de M06
- Crea un package cat.itb.elteuusuari(*).dam.m06.uf1.xml
- La classe de cada exercici ha de ser el nom de l'exercici
(*) elteuusuari correspon a la direcció de correu eltectrònic del centre, sense punts, fins a @itb.cat
Sumari
Exercicis
RestaurantData
Fes un programa que llegeixi el següent xml amb informació de restaurant i l'imprimeixi per pantalla.
RestaurantsByType
Fes un programa que llegeixi el següent xml amb informació de restaurant i l'imprimeixi per pantalla els restaurants segons el tipus que indica l'usuari.
InputOutput
Quin tipus de restaurant vols?
> tapes
Bar Pasqual - Avinguda Diagonal 232 - Joan Martí
Tapitapes - Balmes 2 - Gustaf Michelin
RecipesByIngredient
Donat el següent xml de receptes fes un programa que pregunti un nom a l'usuari i que imprimeixi les receptes que tenen aquest ingredient ordenades per dificultat.
SportTraker
Fes un programa de consola que permeti a un esportista enregistrar els diferents entrenaments que fa en un xml.
- El programa ha de preguntar a l'usuari (per consola) quin esport ha fet i la duració.
- La informació s'ha d'anar afegint a un xml.
- Un cop introdueixi les dades s'imprimirà la duració total registrada i la total per cada esport
- El programa es tancarà (per enregistrar un altre entrada ha de tornar a obrir el programa)
BarcelonaAccidentStats
Els seguent fitxer zip conté dos fitxers en format csv amb detalls dels accidents a Barcelona del 2021 -es poden descarregar de la web open data de l'ajuntament de Barcelona.
Un dels documents incorpora el número de lesionats segons gravetat, el número de vehicles implicats i el punt d'impacte, l'altre conté la causalitat dels accidents.
Fes un programa que llegeixi els fitxers per imprimir les següents dades en el següent format (les dades que hi ha no es corresponen amb les dades dels fitxers)
Output
# Resum accidents 2021 Barcelona
## Totals
Número d'accidents: 1254
Número de victimes: 2486
Número de morts: 12
### Dies de la setmana amb més accidents
1. dijous: 187 accidents, 421 victimes, 1 morts
2. dilluns: 157 accidents, 325 victimes, 2 morts
3. dimecres: 49 accidents, 10 victimes, 1 morts
### Districtes amb més accidents
1. Trinitat: 187 accidents, 421 victimes, 1 morts
2. Sant Martí: 123 accidents, 421 victimes, 1 morts
3. Ciutat Vella: 89 accidents, 421 victimes, 1 morts
### Causes amb més accidents
1. Alcoholèmia: 187 accidents, 421 victimes, 1 morts
2. Excés de velocitat: 100 accidents, 421 victimes, 1 morts
3. No hi ha causa mediata: 50 accidents, 421 victimes, 1 morts
Extra-Selenium
La llibreria Selenium ens permet obrir un navegador web i entrar a una pàgina web, llegir-ne el contingut, simular clics.
Això es pot usar per fer testos de pàgines web, automatització de tasques, …
A continuació tens també un petit exemple:
Gradle
dependencies {
implementation("org.seleniumhq.selenium:selenium-java:4.1.1")
implementation("io.github.bonigarcia:webdrivermanager:5.0.3")
}
Main
fun main(){
WebDriverManager.firefoxdriver().setup()
// WebDriverManager.chromedriver().setup()
val driver = FirefoxDriver()
// val driver = ChromeDriver()
driver.manage().timeouts().implicitlyWait(Duration.ofSeconds(10));
driver.get("https://www.ara.cat/");
val elements = driver.findElements(By.cssSelector(".title-contain h2"))
elements.forEach{
println(it.text)
}
}
Mira't la documentació i fes algunes proves:
https://www.selenium.dev/documentation/webdriver/getting_started/