|
|
|
JAXB
|
|||
|---|---|---|---|
|
#18+
есть схема: ... <xs:complexType name="stepType"> <xs:choice maxOccurs="unbounded" minOccurs="0"> <xs:element type="nameType" name="name"/> <xs:element type="xs:string" name="userdata"/> <xs:element name="flags"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:enumeration value="1"/> <xs:enumeration value="2"/> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name="metadata"> <xs:complexType mixed="true"> <xs:sequence> <xs:element type="metaType" name="meta" maxOccurs="unbounded" minOccurs="0"/> </xs:sequence> </xs:complexType> </xs:element> <xs:element type="actionType" name="action"/> <xs:element type="xs:string" name="text"/> <xs:element type="callType" name="call"/> <xs:element type="stepType" name="step"/> <xs:element type="commentType" name="comment"/> </xs:choice> <xs:attribute type="xs:string" name="id" use="optional"/> <xs:attribute type="xs:string" name="template_id" use="optional"/> </xs:complexType> ... JAXB сгенерил: public class StepType { @XmlElementRefs({ @XmlElementRef(name = "flags", type = JAXBElement.class, required = false), @XmlElementRef(name = "action", type = JAXBElement.class, required = false), @XmlElementRef(name = "step", type = JAXBElement.class, required = false), @XmlElementRef(name = "text", type = JAXBElement.class, required = false), @XmlElementRef(name = "metadata", type = JAXBElement.class, required = false), @XmlElementRef(name = "userdata", type = JAXBElement.class, required = false), @XmlElementRef(name = "name", type = JAXBElement.class, required = false), @XmlElementRef(name = "comment", type = JAXBElement.class, required = false), @XmlElementRef(name = "call", type = JAXBElement.class, required = false) }) protected List<JAXBElement<?>> nameOrUserdataOrFlags; А мне вот нужно получить объект "metadata". Но метод-геттер: public List<JAXBElement<?>> getNameOrUserdataOrFlags() { if (nameOrUserdataOrFlags == null) { nameOrUserdataOrFlags = new ArrayList<JAXBElement<?>>(); } return this.nameOrUserdataOrFlags; } и соответственно, я получу объект типа JAXBElement, и не смогу понять, какого он типа( Что делать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.12.2017, 15:04 |
|
||
|
JAXB
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, Мне нужно получить как-то объекты metadata, userdata, но проблема в том, что они зашиты в @XmlElementRefs. Метод получения getNameOrUserdataOrFlags() - возращает все эти объекты с одним и тем же типом: JAXBElement ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.12.2017, 09:50 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=39562945&tid=2122427]: |
0ms |
get settings: |
12ms |
get forum list: |
17ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
78ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
55ms |
get tp. blocked users: |
2ms |
| others: | 237ms |
| total: | 424ms |

| 0 / 0 |
