Import danych z txt

0

Hej!
Mam taki plik .txt o następującej zawartości:

 
Dokument {
    nazwa = dokument 1
    data = 2004-10-01
    Pozycja Dokumentu{
        Nazwa{
             opis=jakis opis
        }
        kod = 123 
        wartosc = 2
}
Dokument {
    nazwa = dokument 2
    data = 2004-11-02
    Pozycja Dokumentu{
        Nazwa{
             opis=jakis inny opis
        }
        kod = 5467
        wartosc = 4
}

Teraz chciałbym to zaimportować do programu.
Czy jest jakiś prosty sposób ( coś na zasadzie xmlReader gdyby to był xml ), żeby odczytać te dane w programie?

pozdro!

0

Ja bym dał wyrażenie regularne które by to odczytywało ale może jest jakiś lepszy, prostszy sposób

0

No, z tymi wyrażeniami regularnymi to powodzenia.

Ja bym użył jakiegoś generatora parserów. Gramatyka będzie bardzo prosta. Nawet jak nie wiesz o nich zbyt wiele to da się tego w moment nauczyć. A jak miałeś na studiach automaty, gramatyki i języki formalne to będzie zastosowanie teorii w praktyce :).

2

Ten format nie ma żadnego sensu:

Dokument { // OK, pole typu 1, grapatyka: <name> { <fields>+ }
    nazwa = dokument 1 // OK, pole typu 2 - gramatyka: <name> = <value>
    data = 2004-10-01
    Pozycja Dokumentu{ // Spacja w ID dozwolona?
        Nazwa{
             opis=jakis opis
        }
        kod = 123 
        wartosc = 2
    // kto ukradł nawias zamykający? Bez tego parsowanie tego pliku to ponury żart...
}
Dokument {
    nazwa = dokument 2
    data = 2004-11-02
    Pozycja Dokumentu{
        Nazwa{
             opis=jakis inny opis
        }
        kod = 5467
        wartosc = 4
    // nawias zamykający?
}
0

Przepraszam, mogłem wprowadzić w błąd. Brakowało nawiasów, które dopisałem.
Element "Pozycja Dokumentu" posiada spacje: tak jest skonstruowany plik ale to chyba nie jest duży problem.
Ta struktura jest jednoznaczna i myślałem, że może już istnieje jakiś parser. Postaram się samemu coś skleić ale pewnie będzie przy tym dużo roboty. A jeśli ktoś ma jakiś pomysł, podpowiedź na co zwrócić uwagę lub od czego zacząć to chętnie wysłucham :)

 
Dokument {
    nazwa = dokument 1
    data = 2004-10-01
    Pozycja Dokumentu{
        Nazwa{
             opis=jakis opis
        }
        kod = 123 
        wartosc = 2
    }
}
Dokument {
    nazwa = dokument 2
    data = 2004-11-02
    Pozycja Dokumentu{
        Nazwa{
             opis=jakis inny opis
        }
        kod = 5467
        wartosc = 4
    }
}

1 użytkowników online, w tym zalogowanych: 0, gości: 1