Android XmlPullParser解析相似节点
我需要解析几个相同的xml节点:Android XmlPullParser解析相似节点,android,xml,xml-parsing,xmlpullparser,Android,Xml,Xml Parsing,Xmlpullparser,我需要解析几个相同的xml节点: <start-valid-time period-name="Overnight">2013-12-29T00:00:00-05:00</start-valid-time> <start-valid-time period-name="Sunday">2013-12-29T06:00:00-05:00</start-valid-time> <start-valid-time period-name="Sund
<start-valid-time period-name="Overnight">2013-12-29T00:00:00-05:00</start-valid-time>
<start-valid-time period-name="Sunday">2013-12-29T06:00:00-05:00</start-valid-time>
<start-valid-time period-name="Sunday Night">2013-12-29T18:00:00-05:00</start-valid-time>
<start-valid-time period-name="Monday">2013-12-30T06:00:00-05:00</start-valid-time>
我可以获得第一个句点名称属性,但如果我尝试以下操作:
ifparser.getName.equalsIgnoreCasestart-valid-time{
periodnames[0]=parser.getAttributeValue0;
parser.nextTag;
periodnames[1]=parser.getAttributeValue0;
}
它不收集第二个句号名称,在本例中,它将是Sunday
如果有人能帮忙,我们将不胜感激
<?xml version="1.0" ?>
<start-valid-time period-name="Overnight">2013-12-29T00:00:00-05:00</start-valid-time>
<start-valid-time period-name="Sunday">2013-12-29T06:00:00-05:00</start-valid-time>
<start-valid-time period-name="Sunday Night">2013-12-29T18:00:00-05:00</start-valid-time>
<start-valid-time period-name="Monday">2013-12-30T06:00:00-05:00</start-valid-time>
然后
阅读文本
private String readText(XmlPullParser parser) throws IOException, XmlPullParserException {
String result = "";
if (parser.next() == XmlPullParser.TEXT) {
result = parser.getText();
parser.nextTag();
}
return result;
}
日志
启动有效时间只有1个属性。那么为什么这个periodnames[1]=parser.getAttributeValue0;嗯,我想进入下一个可用时间开始…我对xml分析非常陌生。对不起,我意识到我问的问题没有用,因为…对不起。是的,只有一个属性,但我希望每个开始有效时间都有该属性值。这就是为什么我有一个数组>periodnames,它在每个索引中包含每个开始有效的timje属性值,一旦解析,比如隔夜、星期日、星期一等。它不是它获得下一个标记属性的数组
private void readFeed(XmlPullParser parser) throws XmlPullParserException, IOException {
String name=null,value;
while (parser.getEventType() == XmlPullParser.START_TAG && (parser.getEventType() != XmlPullParser.END_TAG)) {
value = parser.getAttributeValue(null, "period-name");
name = readText(parser);
Log.i("Name.....",name);
Log.i("Value ...",value);
parser.next();
continue;
}
}
private String readText(XmlPullParser parser) throws IOException, XmlPullParserException {
String result = "";
if (parser.next() == XmlPullParser.TEXT) {
result = parser.getText();
parser.nextTag();
}
return result;
}
12-29 03:01:23.433: I/Name.....(3273): 2013-12-29T00:00:00-05:00
12-29 03:01:23.433: I/Value ...(3273): Overnight
12-29 03:01:23.433: I/Name.....(3273): 2013-12-29T06:00:00-05:00
12-29 03:01:23.443: I/Value ...(3273): Sunday
12-29 03:01:23.443: I/Name.....(3273): 2013-12-29T18:00:00-05:00
12-29 03:01:23.443: I/Value ...(3273): Sunday Night
12-29 03:01:23.443: I/Name.....(3273): 2013-12-30T06:00:00-05:00
12-29 03:01:23.443: I/Value ...(3273): Monday