从 xml 文件中获取复杂类型(选择)中的元素名称

get the names of elements in a complex type(choice) from xml file

我的xml文件;

<?xml version="1.0" encoding="UTF-8"?>
<tns:military xmlns:tns="Military.xsd"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="Military.xsd Military.xsd ">
    <personel sicilNo="0" title="Bay">
        <militaryP>
            <class>
                <erbas>
                    <ad>aaa</ad>
                    <soyad>bbb</soyad>
                    <telefon>5556667788</telefon>
                    <yas>30</yas>
                    <rankErbas>Uzman</rankErbas>
                </erbas>
            </class>
            <department>tabur</department>
        </militaryP>
    </personel>
</tns:military>

基于 xml 架构;

<complexType name="tClass">
    <choice>
        <element name="erbas" type="tns:tErbas"></element>
        <element name="astSubay" type="tns:tAstsubay"></element>
        <element name="subay" type="tns:tSubay"></element>
        <element name="general" type="tns:tGeneral"></element>
    </choice>
</complexType>

我想获取 class 个元素的名称,我该如何处理?得到它后,我在 switch/case 语句中使用它。 (在我的例子中我想得到 "erbas" )

switch(class) 
   case(erbas) ....
   case(astsubay) ...
String class_ = elem.getElementsByTagName("class").item(0).
getChildNodes().item(1).getNodeName();

我添加了这段代码。有用。 但我不明白它是如何工作的:) 当我从 item(0) 更改为 "item(1)" 时,它给出了子元素的名称。