Распакуйте обычный XPath, используя MOXy - PullRequest
0 голосов
/ 08 октября 2019

У меня есть документ, имеющий следующую глубоко вложенную структуру:

<?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.

...