Как я могу создать xml со следующей схемой с помощью jaxb.JAXB генерировать xml с пространством имен для каждого элемента
<NS1:getRatesResponse xmlns:NS1="http://mynamespaceTypes">
<response>
<NS2:rates xmlns:NS2="http://mynamespace">
<currency>USD</currency>
</NS2:rates>
<NS3:rates xmlns:NS3="http://mynamespace">
<currency>EUR</currency>
</NS3:rates>
<NS4:rates xmlns:NS4="http://mynamespace">
... etc
</response>
Я не знаю, как сказать JAXB, что каждый новый элемент должен быть NS (п + 1) с тем же пространством имен. Изменение формата XML не является вариантом, потому что оно является внешним.
JAXB разбирает этот XML правильно, но при получении используя те же классы, которые он производит это следующим образом:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ns3:getRatesResponse
xmlns:ns2="http://mynamespaceTypes"
xmlns:ns3="http://mynamespace">
<response>
<ns2:rates>
<currency>EUR</currency>
</ns2:rates>
<ns2:rates>
<currency>USD</currency>
</ns2:rates>
</response>
</ns3:getRatesResponse>
The внешнего потребителя _requires_ все эти дополнительные пространства имен ?! деклараций Ewww! Получите нового внешнего потребителя. –
Да, я знаю, что это ужасно. Но я ничего не могу с этим сделать, это собственная внутренняя банковская система. – Aldarund
Да, я знаю, что ты застрял. Вот почему я сделал это как комментарий, а не ответ. (Если вы действительно застряли, замените шаблон строки и ненавидите свою жизнь. По крайней мере, данные, вероятно, достаточно просты, чтобы сделать это не очень проблематичным.) –