Мне нужно разработать одно приложение для анализа xml с использованием парсера sax.android sax parser handler
У меня есть следующие ниже корма XML:
<root>
<Categories>
<Category name="Photos">
<article articleid="4537" title="Sonam-Steals-the-Mai-Show"/>
<article articleid="4560" title="Big-B-Croons-For-World-Peace"/>
<article articleid="4585" title="Yami-Paints-The-Town-Red"/>
</Category>
<Category name="Style">
<article articleid="266" title="Dita wows us in a sari"/>
<article articleid="268" title="Frieda is a natural"/>
<article articleid="269" title="Demi finds love in Jodhpur"/>
</Category>
</Categories>
</root>
Здесь я создать один класс для геттер и сеттер:
public class Laptop {
private String brand;
private List<String> model;
public String getBrand() {
return brand;
}
public void setBrand(String brand) {
this.brand = brand;
}
public List<String> getModel() {
return model;
}
public void setModel(List<String> string) {
this.model = string;
}
Мой обработчик XML выглядеть, как показано ниже код:
public void startElement(String uri, String localName, String qName,
Attributes attributes) throws SAXException {
current = true;
if (localName.equals("Category")) {
laptop = new Laptop();
laptop.setBrand(attributes.getValue("name"));
}
else if (localName.equals("article")) {
laptop.setModel(attributes.getValue("title"));
}
}
public void characters(char[] ch, int start, int length)
throws SAXException {
if(current)
{
currentValue = new String(ch, start, length);
current=false;
}
}
public void endElement(String uri, String localName, String qName)
throws SAXException {
current = false;
if (localName.equals("Category")) {
// add it to the list
laptops.add(laptop);
}
if (localName.equals("article")) {
laptop.getModel().add(currentValue);
}
Ниже приведена ошибка в этой строке:
laptop.setModel(attributes.getValue("title"));
Метод setModel (список) типа Laptop не применяется для аргументов (String)
Как я могу решить, что error.please дать мне решение для них ...
смена частного вида модель; для частной модели String; –
@blackbelt разрешен выше error.but, становится ниже ошибки. Метод setText (CharSequence) в типе TextView не применим для аргументов (список) на этой строке holder.txtModel.setText (laptop.getModel()); –
user2098063
- та же ошибка. Если метод требует как параметр a String, вы не можете передать ему List of String. Выберите строку, которую нужно отобразить, и получите ее из списка. Вы действительно должны прочитать документацию, но в первую очередь вам следует четко продумать, чего вы хотите достичь и как. Это только предположение – Blackbelt