Следующий файл TPAExtensionsType.java, который я сгенерировал из файла XSD.
TPAExtensionsType.java
<code>/*
* <p>The following schema fragment specifies the expected content contained within this class.
*
* <pre>
* <complexType name="TPA_Extensions_Type">
* <complexContent>
* <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
* <sequence>
* <any processContents='skip' maxOccurs="unbounded" minOccurs="0"/>
* </sequence>
* </restriction>
* </complexContent>
* </complexType>
*
* * * / @XmlAccessorType (XmlAccessType.FIELD) @XmlType (name = "TPA_Extensions_Type", propOrder = {"any"}) @XmlRootElement открытый класс TPAExtensionsType {@XmlAnyElement protected List any;/ ** * Получает значение свойства any.* *
* Этот метод доступа возвращает ссылку на текущий список, * не снимок.Поэтому любые изменения, которые вы вносите в возвращаемый список *, будут присутствовать внутри объекта JAXB.* Вот почему нет метода set
для свойства any.* *
* Например, чтобы добавить новый элемент, выполните следующие действия: *
* getAny().add(newItem);
*
* * *
* В списке разрешены объекты следующих типов * * {@link Element} ** * / public List getAny () {if (any == null) {any = new ArrayList ();} вернуть this.any;}}
Ниже приводится отдельное приложение для преобразования вышеприведенного объекта в XML.
TestUtil.java
public class TestUtil {
public static void main(String[] args) {
TPAExtensionsType tpaExtensions = new TPAExtensionsType();
Element consumerInfo = new DOMElement("ConsumerInfo");
consumerInfo.setNodeValue("Some Info");
tpaExtensions.getAny().add(consumerInfo);
StringWriter sw = new StringWriter();
JAXBContext context;
try {
context = JAXBContext.newInstance(TPAExtensionsType.class);
Marshaller marshaller = context.createMarshaller();
marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, Boolean.TRUE);
marshaller.marshal(tpaExtensions, sw);
System.out.println(sw.toString());
} catch (JAXBException e) {
e.printStackTrace();
}
}
}
Ниже приводится вывод:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<tpaExtensionsType xmlns="SOME_NAMESPACE_ HERE">
<ConsumerInfo xmlns="" xmlns:ns2="SOME_NAMESPACE_ HERE"/>
</tpaExtensionsType>
Проблема, с которой я сталкиваюсь:
Узел ConsumerInfo создан, но его значение не отображается в сгенерированном XML, хотя я установил его значение в моем отдельном приложении вышеКто-нибудь, пожалуйста, помогите мне исправить это и что вызывает эту проблему?