我有一些xml,例如:
<tag attr1="20190325235500 +0200">
</tag>
<tag attr1="20190326000000 +0200">
</tag>
<tag attr1="20190326000000 +0200">
</tag>
<tag attr1="20190326000000 +0200">
</tag>
我用XMLPullParser解析它,
if (parser.getName().equals(tag)) {
attr1 = parser.getAttributeValue(0);
item = new SomeItem(attr1);
item.setAttr1Name(attr1);
items.add(item);
}
所以我有很多记录,例如attr1="20190326000000 +0200"
现在,我想过滤所有这些记录,仅保留那些以20190326
开头的记录。
我认为这对我有帮助:
if (parser.getName().equals(tag) && parser.getAttributeValue(0).substring(0, 8).equals("20190326"))
但是我错了,这个if
在我的item.setAttr1Name(attr1);
中导致了nullpointer异常
我可以尝试做什么?如何正确构建if
?
也许我应该使用日期,日历,日期格式?..
答案 0 :(得分:1)
尝试一下
if (parser.getName().equals(tag)) {
attr1 = parser.getAttributeValue(0);
if (attr1 != null && attr1.startsWith("20190326") {
item = new SomeItem(attr1);
item.setAttr1Name(attr1);
items.add(item);
}
}