从 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)" 时,它给出了子元素的名称。
我的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)" 时,它给出了子元素的名称。