Это мой пакет-инфо отображение уровняJAXB - Получить отображение пространства имен во время демаршаллизации
@javax.xml.bind.annotation.XmlSchema(namespace = "http://www.company.com/commons", elementFormDefault = javax.xml.bind.annotation.XmlNsForm.QUALIFIED, xmlns = {
@javax.xml.bind.annotation.XmlNs(namespaceURI = "http://www.company.com/commons", prefix = "commons")
})
@javax.xml.bind.annotation.XmlSchema(namespace = "http://www.company.com/structure-modification-evaluation", elementFormDefault = javax.xml.bind.annotation.XmlNsForm.QUALIFIED, xmlns = {
@javax.xml.bind.annotation.XmlNs(namespaceURI = "http://www.company.com/structure-modification-evaluation", prefix = "structure-modification-evaluation")
})
Это мой вклад XML (только корневой элемент)
<input xmlns="http://www.company.com/structure-modification-evaluation" xmlns:p1="http://www.company.com/commons">
...xml content
</input>
Как вы можете заметить URI «http://www.company.com/commons» сопоставляется с другим префиксом.
маршализацию работает отлично, и его сделали с помощью
JAXBContext ctx = JAXBContext.newInstance("path/to/ObjectFactory");
Input input = ctx.createUnmarshaller().unmarshal(...)
После некоторых входных изменений я должен сохраняться файл обратно (с использованием оригинальных префиксы пространств имен).
Вопрос:
Есть ли способы извлечь пространства имен/префикс-сопоставлений во время unmarshall?