У меня есть документ, имеющий следующую глубоко вложенную структуру:
<?xml version="1.0" encoding="UTF-8"?>
<Envelope>
<Body>
<Request>
<Keys>
<Foo>123</Foo>
<Bar>456</Bar>
<Baz>789</Baz>
</Keys>
<Request>
</Body>
</Envelope>
Я могу сопоставить его с POJO с помощью org.eclipse.persistence.oxm.annotations.XmlPath
:
@XmlRootElement
public class Request {
@XmlPath("Envelope/Body/Request/Keys/Foo/text()")
public String Foo;
@XmlPath("Envelope/Body/Request/Keys/Bar/text()")
public String Bar;
@XmlPath("Envelope/Body/Request/Keys/Baz/text()")
public String Baz;
}
Как вывидите, все эти выражения XPath в основном одинаковы? Можно ли вместо этого указать XPath для корневого элемента (т. Е. «Конверт / Тело / Запрос / Ключи»), чтобы я мог ссылаться на конкретные элементы с помощью XmlElement
вместо этого?
Я могу '• предварительно обработать документ для извлечения узла Keys
.