Я пытаюсь запросить значение для местоположения с атрибутом тегом в моем xml
ниже. Как я могу это сделать?Как запросить XML внутри тега?
Мой текущий запрос возвращает только значение для полного атрибута тега, но я только хочу значение места, которое в данном случае является «sampleLocation»?
т.е: location="sampleLocation"
XML:
<Products>
<Product>
<name>Sample name</name>
<attribute id="sampleid" location="sampleLocation" type="sampleType"/>
</product>
</Products>
Текущий код:
public String getLocationByName(String name) {
final String nameToQueryFor = name;
return engine.new Query<String>(MY_COLLECTION) {
@Override
protected String query(Collection collection) throws Exception {
XQueryService service = queryService();
ResourceSet resourceSet = service.query(
format("//Products/Product[name='%s']" +
"/attribute"
, StringEscapeUtils.escapeXml(nameToQueryFor)
));
List<String> results = newArrayList();
for (String resource : new IterableStringResources(resourceSet)) {
results.add(resource);
}
return results.get(0);
}
}.execute();
}
Будет ли это отбрасывать все значения атрибута, мне нужно только местоположение? – java123999
@ java123999 Исправлено, чтобы выбрать только атрибут 'location' элемента элемента' '(черт возьми, этот звук будет фантастическим при чтении вслух). Дай мне знать, пожалуйста. –
это не дает мне никаких результатов назад, можете ли вы проверить его правильно? или мне нужно использовать: next-sibling :: chapter [position() = 1] – java123999