Estoy utilizando el objeto XMLConfiguration de la configuración de Apache commons con el motor de expresiones XPATH para consultar un archivo XML. Soy nuevo en xpath y Apache commons y tengo problemas con la sintaxis.Consultar elementos XML vacíos con atributos usando la configuración de Apache commons xpath
el archivo XML se parece a:
<attrs>
<attr name="my_name" val="the_val"/>
<attr name="my_name2" val="the_val2"/>
</attrs>
Lo que quiero hacer es, básicamente, con el lazo de bienes comunes a través de todos los atributos y leyó el nombre y Val en cada línea. La única forma en que podría trabajar para obtener todo es consultar el xml nuevamente con el valor del nombre. Este tipo de sentimiento me parece incorrecto, ¿hay una mejor manera de hacerlo?
List<String> names = config.getList("attrs/attr/@name");
for(String name : names)
{
String val = config.getString("attrs/attr[@name='" +name +"']/@val");
System.out.println("name:" +name +" VAL:" +val);
}
También la conversión de arriba a Cadena, no estoy seguro de la forma adecuada de lidiar con eso.
probar este 'attrs/attr/@ nombre | // attr/@ val' – RanRag
Esto obtuvo ambos valores pero en una larga lista de cadenas de modo que salieron todos los nombres, seguidos por todos los valores. Mientras están en orden, probablemente tendrías que hacer algunas operaciones matemáticas como val_pos = size()/2 y luego obtener i + val_pos mientras avanzas. No muy limpio, pero guarda algunas consultas. Hasta ahora, debido a limitaciones de tiempo, solo vamos a seguir consultando nuevamente para mayor claridad, pero aún así recibimos con agrado una buena forma de recorrer un archivo xml con los recursos comunes que están en ese formato. –