Voglio leggere i dati in un formato come il seguente usando Java.
[scenario]
id=my_first_scenario
next_scenario=null
name=_"My First Scenario."
map_data="{~add-ons/my_first_campaign/maps/my_first_map.map}"
turns=30
[side]
side=1
controller=human
team_name="good"
user_team_name= _ "My Team"
id=MyLeader
name= _ "My Leader's Name"
type="Elvish Ranger"
unrenameable=yes
canrecruit=yes
recruit="Elvish Fighter, Elvish Archer, Elvish Shaman"
gold=100
[/side]
[side]
side=2
controller=ai
team_name="bad"
user_team_name= _ "Bad Guys"
id="EnemyLeader"
name= _ "My Villain"
type= "Orcish Warrior"
unrenameable=yes
canrecruit=yes
recruit="Orcish Grunt, Orcish Archer, Orcish Assassin, Wolf Rider"
gold=100
[/side]
[/scenario]
Voglio sviluppare un'API che possa leggere tale contenuto in modo generico, ad esempio, con metodi come getChildren
, getAttributes
. Mi chiedo se ci siano librerie che supportano questo tipo di attività.
Di seguito sono ciò che ho trovato,
-
Poiché si tratta di un linguaggio semplice (come XML), dovrei usare una libreria come antlr? O è troppo complesso per questo compito?
-
Devo usare regex per analizzare questi dati?
-
Devo elaborare il testo manualmente come uno stream e identificare i tag / attributi mentre arrivano?
-
O c'è un modo migliore / diverso rispetto a tutti sopra?
Per chiunque sia interessato, questo linguaggio di markup viene utilizzato in un gioco chiamato Battle for Wesnoth , che è in c ++. Voglio analizzare questi dati utilizzando Java.