首页 > 解决方案 > 如何读取 XML 文件?

问题描述

我想在 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>

标签: javaandroidxml-parsing

解决方案


在键值中使用这个

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;

您的文件可能包含的所有模式都应该被写入并且当其中一些可能不存在时为空。


推荐阅读