Есть определенный xml-файл c такой структурой:
XML-файл<ValCurs>
<Valute ID="R01010">
<NumCode>036</NumCode>
<CharCode>AUD</CharCode>
<Nominal>1</Nominal>
<Name>Австралийский доллар</Name>
<Value>44,1039</Value>
</Valute>
<Valute ID="R01020A">
<NumCode>944</NumCode>
<CharCode>AZN</CharCode>
<Nominal>1</Nominal>
<Name>Азербайджанский манат</Name>
<Value>33,5431</Value>
</Valute>
<Valute ID="R01035">
<NumCode>826</NumCode>
<CharCode>GBP</CharCode>
<Nominal>1</Nominal>
<Name>Фунт стерлингов Соединенного королевства</Name>
<Value>80,6068</Value>
</Valute>
</ValCurs>
Нужно вытащить определенные элементы с помощью XMLPullParser по конкретному аттрибуту.
private void pullDataInArticles(XmlPullParser xmlPullParser) throws XmlPullParserException, IOException {
int eventType = xmlPullParser.getEventType();
while (eventType != XmlPullParser.END_DOCUMENT) {
if (eventType == XmlPullParser.START_TAG && xmlPullParser.getName().equalsIgnoreCase("Valuet")) {
if (xmlPullParser.getName().equalsIgnoreCase("Value") && xmlPullParser.getAttributeValue(0).equals("R01235")) {
String title = xmlPullParser.getText();
currentArticle.setTitle_usd(title);
Log.d("valueXML",title);
} else if (xmlPullParser.getName().equalsIgnoreCase("Value") && xmlPullParser.getAttributeValue(0).equals("R01239")){
String title = xmlPullParser.getText();
currentArticle.setTitle_euro(title);
Log.d("valueXML",title);
} else if (eventType == XmlPullParser.END_TAG && xmlPullParser.getName().equalsIgnoreCase("Valuet")) {
articles.add(currentArticle);
currentArticle = new Article();
}
eventType = xmlPullParser.next();
}
triggerObserver();
}
}
Но появляются определенные проблемы с конкретизацией аттрибутов.