Я использую конфигурацию XMLConfiguration с помощью механизма выражений XPATH для запроса XML-файла. Я новичок в xpath и apache, и у меня возникают проблемы с синтаксисом.Запросить пустые элементы XML с атрибутами, используя конфигурацию apache commons xpath
файл XML выглядит следующим образом:
<attrs>
<attr name="my_name" val="the_val"/>
<attr name="my_name2" val="the_val2"/>
</attrs>
То, что я хочу сделать это в основном с петлей через все свободные городские атрибуты и прочитать имя и Вэла в каждой строке. Единственный способ, с помощью которого я мог бы разобраться, - это снова запросить xml со значением имени. Для меня это кажется неправильным, есть ли лучший способ сделать это?
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);
}
Также преобразование вверх по вершине в строку, я не уверен, что с этим можно справиться.
попробовать это 'ATTRS/атр/@ имя | // attr/@ val' – RanRag
Это получило оба значения, но в длинном списке строк, так что все имена вышли, а затем все значения. В то время как они в порядке, вам, вероятно, придется выполнить некоторые математические вычисления, такие как val_pos = size()/2, после чего вы получите i + val_pos при прохождении цикла. Не очень чистый, но сохраняет некоторые запросы. До сих пор из-за ограничений по времени просто собирался повторить запрос для ясности, но все же приветствует хороший способ перебрать файл xml с общедоступными в этом формате. –