Порядок проанализированных элементов теряется в XMLBeans

У меня есть структура XML примерно так:

<root>
    <a/>
    <b/>
    <b/>
    <a/>
    <a/>
</root>

Мой XSD выглядит так:

<xs:element name="root">
    <xs:complexType>
        <xs:sequence>
            <xs:choice maxOccurs="unbounded">
                <xs:element ref="a"/>
                <xs:element ref="b"/>
            </xs:choice>
        </xs:sequence>
    </xs:complexType>
</xs:element>

<xs:element name="a" type="xs:string" />
<xs:element name="b" type="xs:string" />

Т.е. у меня есть случайная последовательность из двух разных суб-тегов.

Используя XMLBeans, я получаю объект Root с методами доступа: getAArray(), getBArray()

И вот моя проблема:
Теги сгруппированы по имени, и первоначальный порядок (a,b,b,a,a) потерян.
Но мне нужно знать порядок этих элементов.

Каков наилучший / самый простой способ сделать это с XMLBeans?

2 ответа

Решение

Пытаться

xml.selectPath("./*")

Ладно, я понял. метод selectPath XmlObject возвращает массив объектов, поэтому он дает последовательность.

Другие вопросы по тегам