如何第二次识别相同的 xml 标签 [英] How can i identify same xml tag second time
本文介绍了如何第二次识别相同的 xml 标签的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我并不完全了解 XMLParsing,所以我是 XMLParsing 的初学者.我正在使用 XMLPull 解析器.
I am not full aware of XMLParsing so i am beginner in XMLParsing. I am using XMLPull parser.
我想将播放器一和播放器二存储在下面的 xml 中.如何识别playertag??
i wanna to store player one and player two in below xml. How can i identify playertag??
<scores sport="tennis">
<category name="Atp - Doubles: Us Open (Usa), Hard" city="Us Open" id="11987">
<match date="08.09.2016" time="19:00" status="Not Started" id="396388">
<player name="Herbert/ Mahut" s1="" s2="" s3="" s4="" s5="" totalscore="" id="22079"/>
<player name="Murray/ Soares" s1="" s2="" s3="" s4="" s5="" totalscore="" id="33098"/>
</match>
<match date="08.09.2016" time="20:30" status="Not Started" id="396400">
<player name="Lopez/ Lopez" s1="" s2="" s3="" s4="" s5="" totalscore="" id="9632"/>
<player name="Carreno-Busta/ Garcia-Lopez" s1="" s2="" s3="" s4="" s5="" totalscore="" id="22770"/>
</match>
</category>
</scores>
这是我的代码
public List<LiveScore> parse(InputStream is) {
try {
String tournament = null,tournament_place = null,date = null,time = null,status = null,player_one = null,player_two;
XmlPullParserFactory factory = XmlPullParserFactory.newInstance();
factory.setNamespaceAware(true);
XmlPullParser parser = factory.newPullParser();
parser.setInput(is, null);
liveScoreArrayList = new ArrayList<LiveScore>();
int eventType = parser.getEventType();
while (eventType != XmlPullParser.END_DOCUMENT) {
String tagname = parser.getName();
switch (eventType) {
case XmlPullParser.START_TAG:
if ("category".equals(tagname)){
tournament = parser.getAttributeValue(null,"name");
tournament_place = parser.getAttributeValue(null,"city");
}
if ("match".equals(tagname)){
date = parser.getAttributeValue(null,"date");
time = parser.getAttributeValue(null,"time");
status = parser.getAttributeValue(null,"status");
}
break;
case XmlPullParser.TEXT:
// text = parser.getText();
// Log.i(TAG, "parse: text: "+text);
break;
case XmlPullParser.END_TAG:
if ("player".equals(tagname)){
player_one = parser.getAttributeValue(null,"name");
}
Log.d("LiveMatch", "parse: category : "+tournament+" city = "+tournament_place+" date = "+date+ " time = "+time+" status = "+status+" player_one = "+player_one);
// rankList.add(new Rank(rank,player_name+"
"+country,points ));
break;
default:
break;
}
eventType = parser.next();
}
} catch (XmlPullParserException e) {e.printStackTrace();}
catch (IOException e) {e.printStackTrace();}
return liveScoreArrayList;
}
推荐答案
这是完整的 Xml Pull Parsing 示例.它可能对您有所帮助.
This is Complete Xml Pull Parsing example.. It may Help you.
https:///androidgarden.wordpress.com/2016/09/02/android-xml-pull-parsing-from-sd-card-assets/
这篇关于如何第二次识别相同的 xml 标签的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文