• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Parsowanie plików XML w Kotlinie

0 głosów
82 wizyt
pytanie zadane 26 października 2020 w Inne języki przez Lyokoheros Początkujący (340 p.)
edycja 26 października 2020 przez Lyokoheros

Mam problem z parsowaniem XMLa w Kotlinie(w aplikacji na androida, ale ten fakt chyba nie ma znaczenia - dlatego wybrałem kategorię inne języki zamiast android). Otóż próbuję parsować XMLa takiej postaci jak ten http://fcds.cs.put.poznan.pl/MyWeb/BL/615.xml, zapisując obiekty item wewnątrz tagu o tej nazwie w obiekcie o tej samej nazwie, które dodaje sobie kolejno do tablicy, tak wygląda moja funkcja, która ma tym parsowaniem się zajmować:

private fun parseXML(parser: XmlPullParser): ArrayList<Item>
    {
        var eventType = parser.eventType
        var ItemList = ArrayList<Item>()
        var Item: Item = Item()
        while(eventType != XmlPullParser.END_DOCUMENT)
        {
            var TagName = parser.getName()
            var text = ""
            when(eventType)
            {
                XmlPullParser.START_TAG -> if (TagName == "ITEM")
                {
                    Item = Item()
                }

                XmlPullParser.TEXT -> text = parser.getText()

                XmlPullParser.END_TAG -> when(TagName)
                {
                    "ITEM" -> ItemList.add(Item)
                    "ITEMTYPE" -> Item.ItemType= text
                    "ITEMID" -> Item.ItemId = text
                    "QTY" -> Item.qty = text
                    "COLOR" -> Item.color = text;
                    "EXTRA" -> Item.extra = text
                    "MATCHID" -> Item.matchid = text
                    "COUNTERPART" -> Item.counterPart = text
                }

            }
            eventType = parser.next()
        }
        return ItemList
    }

Niestety ale gdy próbowałem to debugować, to wychodzi na to, że zmienna text, cały czas pozostawała pusta, ale nie mogę zrozumieć dlaczego... wydaje mi się to być kompletnie sprzeczne z logiką napisanej przeze mnie funkcji.

Tu jakby co deklaracja klasy Item

class Item {
    var ItemType = ""
    var ItemId = ""
    var qty = ""
    var color = ""
    var extra = ""
    var matchid = ""
    var counterPart =""
}

Zaloguj lub zarejestruj się, aby odpowiedzieć na to pytanie.

Podobne pytania

0 głosów
0 odpowiedzi 305 wizyt
pytanie zadane 7 lutego 2018 w JavaScript przez Anoonymous Obywatel (1,560 p.)
0 głosów
1 odpowiedź 808 wizyt
pytanie zadane 27 października 2016 w JavaScript przez Newperty Początkujący (280 p.)
0 głosów
1 odpowiedź 244 wizyt
pytanie zadane 14 sierpnia 2017 w C i C++ przez Kacper777777 Bywalec (2,440 p.)

88,720 zapytań

137,331 odpowiedzi

306,818 komentarzy

58,907 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Sklep oferujący ćwiczenia JavaScript, PHP, rozmowy rekrutacyjne dla programistów i inne materiały

Oto dwie polecane książki warte uwagi. Pełną listę znajdziesz tutaj.

...