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

Python 3 Xml Parser

0 głosów
64 wizyt
pytanie zadane 29 września 2018 w Python, Django przez Piotr Jasiński Bywalec (2,120 p.)

Witam.

Ostatnio próbowałem odczytywać z pliku xml dane przy pomocy biblioteki pythona minidom

już to kiedyś robiłem zrobiłem praktycznie tak samo i w app którą kiedyś zrobiłem działało to bez problemu ale teraz wyrzuca mi taki błąd:

xml.parsers.expat.ExpatError: not well-formed (invalid token): line 29, column 22

Pełen Trackback:

Traceback (most recent call last):
  File "C:/Users/piotr/PycharmProjects/Projekt/Api/DEdit/DEdit/DEdit.pyw", line 304, in <module>
    ui.setupUi(MainWindow)
  File "C:/Users/piotr/PycharmProjects/Projekt/Api/DEdit/DEdit/DEdit.pyw", line 178, in setupUi
    self.read_keywords_from_xml()
  File "C:/Users/piotr/PycharmProjects/Projekt/Api/DEdit/DEdit/DEdit.pyw", line 276, in read_keywords_from_xml
    xml_doc = minidom.parse(way)
  File "C:\Python\lib\xml\dom\minidom.py", line 1958, in parse
    return expatbuilder.parse(file)
  File "C:\Python\lib\xml\dom\expatbuilder.py", line 911, in parse
    result = builder.parseFile(fp)
  File "C:\Python\lib\xml\dom\expatbuilder.py", line 207, in parseFile
    parser.Parse(buffer, 0)
xml.parsers.expat.ExpatError: not well-formed (invalid token): line 29, column 22

I tak nie dokońca rozumiem co jest problemem tu.

Jak mówiłem identycznie miałem w innym programie i działało teraz coś nie chce może ktoś ma pomysł.

Ps. Kod

    def read_keywords_from_xml(self):
        way = self.find_way_to_file("keywords.xml")
        print(way)
        xml_doc = minidom.parse(way)

        self.xmldata.append([])
        # While to takes elements from xml file
        for item in xml_doc.getElementsByTagName('keywords')[0].getElementsByTagName("item"):
            self.xmldata[0].append(item.attributes["word"].value)
        self.xmldata.append([])
        for item in xml_doc.getElementsByTagName('operators')[0].getElementsByTagName("item"):
            self.xmldata[1].append(item.attributes["symbol"].value)
        self.xmldata.append([])
        for item in xml_doc.getElementsByTagName('braces')[0].getElementsByTagName("item"):
            self.xmldata[2].append(item.attributes["key"].value)
        self.xmldata.append([])
        for item in xml_doc.getElementsByTagName('function')[0].getElementsByTagName("item"):
            self.xmldata[3].append(item.attributes["func"].value)
        self.xmldata.append([])

 

1 odpowiedź

0 głosów
odpowiedź 29 września 2018 przez Piotr Jasiński Bywalec (2,120 p.)

Problemem były tu znaki 

< > &

Z jakiegoś powodu powodowały crashe 

Podobne pytania

0 głosów
1 odpowiedź 82 wizyt
pytanie zadane 24 marca 2018 w PHP, Symfony, Zend przez Kamil Jarzyna Użytkownik (940 p.)
0 głosów
0 odpowiedzi 61 wizyt
pytanie zadane 5 marca 2018 w PHP, Symfony, Zend przez Kamil Jarzyna Użytkownik (940 p.)
0 głosów
1 odpowiedź 90 wizyt
pytanie zadane 17 lipca w Python, Django przez Jakub 0 Stary wyjadacz (13,240 p.)
Porady nie od parady
Forum posiada swój własny chat IRC, dzięki któremu będziesz mógł po prostu pogadać z innymi Pasjonatami lub zapytać o jakiś problem. Podstrona z chatem znajduje się w menu pod ikoną człowieka w dymku.IRC

66,451 zapytań

113,207 odpowiedzi

239,680 komentarzy

46,704 pasjonatów

Przeglądających: 269
Pasjonatów: 11 Gości: 258

Motyw:

Akcja Pajacyk

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

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

...