порядок проанализированных элементов теряется в XMLBeans - PullRequest
2 голосов
/ 10 июня 2009

У меня есть структура 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 ]

5 голосов
/ 10 июня 2009

Попробуйте

xml.selectPath("./*")

1 голос
/ 08 июля 2009

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

...