Принятый ответ был с 2010 года, и этот пост предназначен для тех, кто хочет использовать XPath с JAXB. Реализация Moxy предоставляет множество приятных расширений, и одним из них является выполнение XPath. Подробнее об этом читайте в учебном пособии по Moxy . Пример скопирован с того же места
Customer customer = (Customer) jaxbContext.createUnmarshaller().unmarshal(instanceDoc);
...
int customerId = jaxbContext.getValueByXPath(customer, "@id", null, Integer.class);
jaxbContext.setValueByXPath(customer, "first-name/text()", null, "Bob");
jaxbContext.setValueByXPath(customer, "phone-number/area-code/text()", null, "555");
...
jaxbContext.createMarshaller().marshal(customer, System.out);