如何读取XML文件?

时间:2019-10-13 08:05:00

标签: java android xml-parsing

我想在Android上使用XMLPullParser读取此xml文件,但是当涉及到KeyValues部分时,它会抛出异常,因为标记名称在模型中并不相同。 标签是用户指定的,每次KeyValues部分具有不同的名称。我该如何读取这些值?

<Shot>
<ShotGUID>1</ShotGUID>
<Title>aaa</Title>
<Group>bbb</Group>
<SGroup>ccc</SGroup>
<StartTime>00:00:00.00</StartTime>
<EndTime>00:00:00.00</EndTime>
<FileName>110.jpg</FileName>
<Dscp></Dscp>
  <KeyValues>           
     <name>ddd</name>
     <family>eee</family>
     <date>20.3</date>
  </KeyValues>
</Shot>
<Shot>
<ShotGUID>2</ShotGUID>
<Title>qqq</Title>
<Group>www</Group>
<SGroup>rrr</SGroup>
<StartTime>12:00:00.00</StartTime>
<EndTime>13:00:00.00</EndTime>
<FileName>20.jpg</FileName>
<Dscp>hello</Dscp>
  <KeyValues>           
     <email>example@yahoo.com</email>
     <index>mmm</index>
     <years>562</years>
     <factory>nnn</factory>
  </KeyValues>
</Shot>

1 个答案:

答案 0 :(得分:0)

在键值中使用此

case "email": 
String a = parser.nextText();
break;
case "index":
String b = parser.nextText();
break;
case "years":
String c = parser.nextText();
break;
case "factory":
String d = parser.nextText();
break;
case "name":
String e = parser.nextText();
break;
case "family":
String f = parser.nextText();
break;
case "date":
String g = parser.nextText();
break;

文件中可能包含的所有模式均应写入,如果其中某些模式不存在,则应为null。