java - mvn - org apache commons lang3 stringutils
Apache Commons XMLConfiguration-¿cómo recuperar una lista de objetos en un nodo dado? (1)
Tengo un archivo de configuración XML similar a esto:
<?xml version="1.0" encoding="ISO-8859-1" ?>
<config>
<mainServerHostname>MainServer</mainServerHostname>
<failoverServers>
<server>
<ipAddress>192.168.0.5</ipAddress>
<priority>1</priority>
</server>
<server>
<ipAddress>192.168.0.6</ipAddress>
<priority>2</priority>
</server>
</failoverServers>
</config>
Ahora, lo sé usando el siguiente código (después de configurar mi objeto XMLConfiguration y llamarlo config):
config.getList("failoverServers.server.ipAddress");
Puedo obtener una lista de todas las direcciones IP. Esto es útil, pero lo que sería aún más útil sería si pudiera hacer algo como esto:
config.getList("failoverServers.server");
y obtener una lista de Objetos, cada uno de los cuales tiene una dirección IP y una prioridad. Por lo que puedo decir sin embargo, no hay forma de hacer esto. ¿Alguien tiene alguna idea sobre cómo podría lograr este tipo de funcionalidad? Incluso estaría perfectamente dispuesto a definir las estructuras de datos correspondientes a la estructura del XML en el que Java podría mapear los datos si eso facilitara las cosas (de hecho, eso probablemente sería incluso mejor). ¡Gracias por toda la ayuda!
Puede usar HierarchicalConfiguration en lugar de XMLConfiguration. Funciona así:
List<HierarchicalConfiguration> servers = config.configurationsAt("failoverServers.server");
for(HierarchicalConfiguration server : servers) {
System.out.println(server.getString("ipAddress"));
}
Ver: http://commons.apache.org/configuration/userguide/howto_xml.html