У меня есть проблема, whem Я создаю XML-файл Jaxb добавляет префикс в пространство имен корневого элемента, и я не знаю, как его пропустить.Jaxb XML marshaling добавить префикс к корневому элементу
У меня есть файл package-info.java
@XmlSchema(namespace = "urn:iso:std:iso:20022:tech:xsd:pain.001.001.03", xmlns = {
@XmlNs(namespaceURI = "urn:iso:std:iso:20022:tech:xsd:pain.001.001.03", prefix = "")
}, elementFormDefault = XmlNsForm.QUALIFIED)
У меня есть корневой элемент
@XmlType(name = "Document",
propOrder = {
"cstmrCdtTrfInitn"
})
@XmlRootElement(name = "Document")
public class Document {
@XmlElement(name = "CstmrCdtTrfInitn", required = true)
protected CustomerCreditTransferInitiationV03 cstmrCdtTrfInitn;
}
И как результат я получил
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ns2:Document xmlns:ns2="urn:iso:std:iso:20022:tech:xsd:pain.001.001.03">
<ns2:CstmrCdtTrfInitn>
<ns2:GrpHdr/>
</ns2:CstmrCdtTrfInitn>
</ns2:Document>
без @XmlNs он работает таким же образом, , добавление пространства имен в @XmlRoolElement также не поможет. Что может быть не так?
точно, но проблема, которую я получил XML с ns2: префикс – ekitru
является то, что ваш провайдер JAXB. Был ли он настоящим примером или является частью документа другого, например, мыльного сообщения. – Zielu