• 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

Object Storage Arubacloud
0 głosów
132 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 361 wizyt
pytanie zadane 7 lutego 2018 w JavaScript przez Anoonymous Obywatel (1,560 p.)
0 głosów
1 odpowiedź 1,063 wizyt
pytanie zadane 27 października 2016 w JavaScript przez Newperty Początkujący (280 p.)
0 głosów
1 odpowiedź 285 wizyt
pytanie zadane 14 sierpnia 2017 w C i C++ przez niezalogowany

92,576 zapytań

141,426 odpowiedzi

319,652 komentarzy

61,961 pasjonatów

Motyw:

Akcja Pajacyk

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

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...