java - 如何读取 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>
解决方案
在键值中使用这个
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;
您的文件可能包含的所有模式都应该被写入并且当其中一些可能不存在时为空。
推荐阅读
- amazon-web-services - 如何在我的 lambda 函数中从 aws connect 和 lex 获取入站呼叫者 ID 信息
- python - Selenium 在提交表单后查看新页面
- java - 卡夫卡流 - 按价值属性分组?
- r - 为什么这个闪亮的应用程序会给出“只能从反应式表达式内部完成”的错误
- python - 从字符串表示构造 QueryDict
- powershell - 如何在 Powershell 中从这个类似 Hashtable 的文本中提取值?
- node.js - Nodejs Typescript 仅类型包未正确导出所有类型
- r - 按间隔和条件对数据进行分组
- powershell - 在 Azure Devops 的计划中执行 exe
- arrays - TypeError:赋值的右侧不能在数组映射上解构