Unmarshelling XML с пространством имен с использованием JAXB - PullRequest
0 голосов
/ 21 марта 2020

У меня есть XML файл, подобный этому,

<attributeList xmlns:xi="http://www.w3.org/2001/XInclude"
                xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                xsi:schemaLocation="someValue"
                xmlns="someValue">
    <attribute name="siteid" validationRuleName="String" description="Site id">
        <xi:include href="&SITEID_HIERARCHY;"/>
    </attribute>
</attributeList>

Я пытался прочитать XML, используя JAXB,

Ниже приведены классы, которые я создал,

@XmlAccessorType(XmlAccessType.FIELD)
@XmlRootElement(name = "attributeList")
@XmlType(name = "", propOrder = {"attribute"})
public class AttributeList {
    private Attribute attribute;
}

@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "")
public class Attribute {
    @XmlAttribute(name = "name")
    private String name;
    @XmlAttribute(name = "validationRuleName")
    private String validationRuleName;
    @XmlAttribute(name = "description")
    private String description;
}

информация о пакете. java

@XmlSchema(namespace = "someValue",
    elementFormDefault = XmlNsForm.QUALIFIED)
package com.example.pojo.complex;
import javax.xml.bind.annotation.XmlNsForm;
import javax.xml.bind.annotation.XmlSchema;

Я мог прочитать значения атрибута, доступные внутри тега <attribute> (name, validationRuleName и description)

Как я могу прочитать значение, указанное в теге,

<xi:include href="&SITEID_HIERARCHY;"/>

Как включить значение пространства имен

xmlns:xi="http://www.w3.org/2001/XInclude"

при записи XML с использованием JAXB?

someValue - это просто дано для показа примера. Фактическое значение отличается от одного

Заранее спасибо.

...