🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: pl.comp.bazy-danych
9 messages
9 total messages Started by Adam Mon, 07 Jun 2021 11:14
Szukanie gałęzi w xml
#195733
Author: Adam
Date: Mon, 07 Jun 2021 11:14
51 lines
1978 bytes
Witajcie.

Jest sobie stado plików XML w których potrzebuję znaleźć wszystkie gałęzie,
jakie wystąpiły, ale od określonego miejsca.

Konkretnie:
Są to faktury.

Ich struktura wygląda mniej-więcej tak:

/nagłówek
/nagłówek/data wystawienia
/nagłówek/data sprzedaży
/nagłówek/kontrahent_NIP
(...)
/elementy/pozycja
/elementy/pozycja/pozycja_nr
/elementy/pozycja/EAN
/elementy/pozycja/ilosc
/elementy/pozycja/cena
/elementy/pozycja/informacje_dodatkowe
/elementy/pozycja/informacje_dodatkowe/numer_partii
/elementy/pozycja/informacje_dodatkowe/numer_swiadectwa
/elementy/pozycja/informacje_dodatkowe/gatunek


Teraz tak:
w jednej pozycji występuje przykładowo:

/elementy/pozycja/informacje_dodatkowe/numer_partii
/elementy/pozycja/informacje_dodatkowe/termin
/elementy/pozycja/informacje_dodatkowe/gatunek

a w innej pozycji:

/elementy/pozycja/informacje_dodatkowe/numer_swiadectwa
/elementy/pozycja/informacje_dodatkowe/odmiana


Chciałbym uzyskać listę wszytskich możliwych gałęzi poniżej
/elementy/pozycja/informacje_dodatkowe/

Da się to w jakimś edytorze lub programie pozbierać do kupy?
Wiersze mogą się powtarzać, z mojego punktu widzenia ważne jest, aby czegoś
nie przegapić.


-- 
Pozdrawiam.

Adam
Re: Szukanie gałęzi w xml
#195734
Author: Tomek
Date: Mon, 07 Jun 2021 13:10
17 lines
1659 bytes
W dniu 07.06.2021 o 13:14, Adam pisze:
> Witajcie.
> 
> Jest sobie stado plików XML w których potrzebuję znaleźć wszystkie gałęzie,
> jakie wystąpiły, ale od określonego miejsca.
> 
[...]
> Da się to w jakimś edytorze lub programie pozbierać do kupy?
> Wiersze mogą się powtarzać, z mojego punktu widzenia ważne jest, aby czegoś
> nie przegapić.
> 
> 

Teoretycznie do przetwarzania XMli służy XSLT.

Choć ja jakbym miał to robić to użyłbym PHP (bo znam) + 
simplexml_load_file()
Re: Szukanie gałęzi w xml
#195735
Author: Adam
Date: Mon, 07 Jun 2021 13:42
32 lines
1732 bytes
Dnia Mon, 7 Jun 2021 15:10:28 +0200, Tomek napisał(a):

> W dniu 07.06.2021 o 13:14, Adam pisze:
>> Witajcie.
>> 
>> Jest sobie stado plików XML w których potrzebuję znaleźć wszystkie gałęzie,
>> jakie wystąpiły, ale od określonego miejsca.
>> 
> [...]
>> Da się to w jakimś edytorze lub programie pozbierać do kupy?
>> Wiersze mogą się powtarzać, z mojego punktu widzenia ważne jest, aby czegoś
>> nie przegapić.
>> 
> 
> Teoretycznie do przetwarzania XMli służy XSLT.
> 
> Choć ja jakbym miał to robić to użyłbym PHP (bo znam) + 
> simplexml_load_file()

XSLT (ani XML-ami) nie zajmowałem się. 
Wiem, że to można zrobić jakimś parserem. Ale to trochę za wysokie progi
jak dla mnie.

Docelowo do programu muszę dopisać atrybuty, ewentualnie coś jeszcze
skrobnąć w SQL. 
Rozgryzanie PHP zostawię na później, jeśli nie znajdę innej możliwości.


-- 
Pozdrawiam.

Adam
Re: Szukanie gałęzi w xml
#195736
Author: artiun
Date: Wed, 09 Jun 2021 09:10
59 lines
3269 bytes
W dniu 2021-06-07 o 13:14, Adam pisze:
> Witajcie.
> 
> Jest sobie stado plików XML w których potrzebuję znaleźć wszystkie gałęzie,
> jakie wystąpiły, ale od określonego miejsca.
> 
> Konkretnie:
> Są to faktury.
> 
> Ich struktura wygląda mniej-więcej tak:
> 
> /nagłówek
> /nagłówek/data wystawienia
> /nagłówek/data sprzedaży
> /nagłówek/kontrahent_NIP
> (...)
> /elementy/pozycja
> /elementy/pozycja/pozycja_nr
> /elementy/pozycja/EAN
> /elementy/pozycja/ilosc
> /elementy/pozycja/cena
> /elementy/pozycja/informacje_dodatkowe
> /elementy/pozycja/informacje_dodatkowe/numer_partii
> /elementy/pozycja/informacje_dodatkowe/numer_swiadectwa
> /elementy/pozycja/informacje_dodatkowe/gatunek
> 
> 
> Teraz tak:
> w jednej pozycji występuje przykładowo:
> 
> /elementy/pozycja/informacje_dodatkowe/numer_partii
> /elementy/pozycja/informacje_dodatkowe/termin
> /elementy/pozycja/informacje_dodatkowe/gatunek
> 
> a w innej pozycji:
> 
> /elementy/pozycja/informacje_dodatkowe/numer_swiadectwa
> /elementy/pozycja/informacje_dodatkowe/odmiana
> 
> 
> Chciałbym uzyskać listę wszytskich możliwych gałęzi poniżej
> /elementy/pozycja/informacje_dodatkowe/
> 
> Da się to w jakimś edytorze lub programie pozbierać do kupy?
> Wiersze mogą się powtarzać, z mojego punktu widzenia ważne jest, aby czegoś
> nie przegapić.
> 
> 
Czyli ma zostać?

 > numer_partii
 > numer_swiadectwa
 > gatunek
 > numer_swiadectwa
 > odmiana

Da się to zrobić edytorem (replace/zamiana). Duplikaty wyciąć także 
edytorem. Wycięcie śmieci także edytorem (regexp). Choć pareserem jest 
łatwiej, uniwersalniej i szybciej.
Re: Szukanie gałęzi w xml
#195737
Author: Adam
Date: Wed, 09 Jun 2021 09:31
77 lines
3084 bytes
Dnia Wed, 9 Jun 2021 11:10:33 +0200, artiun napisał(a):

> W dniu 2021-06-07 o 13:14, Adam pisze:
>> Witajcie.
>> 
>> Jest sobie stado plików XML w których potrzebuję znaleźć wszystkie gałęzie,
>> jakie wystąpiły, ale od określonego miejsca.
>> 
>> Konkretnie:
>> Są to faktury.
>> 
>> Ich struktura wygląda mniej-więcej tak:
>> 
>> /nagłówek
>> /nagłówek/data wystawienia
>> /nagłówek/data sprzedaży
>> /nagłówek/kontrahent_NIP
>> (...)
>> /elementy/pozycja
>> /elementy/pozycja/pozycja_nr
>> /elementy/pozycja/EAN
>> /elementy/pozycja/ilosc
>> /elementy/pozycja/cena
>> /elementy/pozycja/informacje_dodatkowe
>> /elementy/pozycja/informacje_dodatkowe/numer_partii
>> /elementy/pozycja/informacje_dodatkowe/numer_swiadectwa
>> /elementy/pozycja/informacje_dodatkowe/gatunek
>> 
>> Teraz tak:
>> w jednej pozycji występuje przykładowo:
>> 
>> /elementy/pozycja/informacje_dodatkowe/numer_partii
>> /elementy/pozycja/informacje_dodatkowe/termin
>> /elementy/pozycja/informacje_dodatkowe/gatunek
>> 
>> a w innej pozycji:
>> 
>> /elementy/pozycja/informacje_dodatkowe/numer_swiadectwa
>> /elementy/pozycja/informacje_dodatkowe/odmiana
>> 
>> Chciałbym uzyskać listę wszytskich możliwych gałęzi poniżej
>> /elementy/pozycja/informacje_dodatkowe/
>> 
>> Da się to w jakimś edytorze lub programie pozbierać do kupy?
>> Wiersze mogą się powtarzać, z mojego punktu widzenia ważne jest, aby czegoś
>> nie przegapić.
>> 
> Czyli ma zostać?
> 
>  > numer_partii
>  > numer_swiadectwa
>  > gatunek
>  > numer_swiadectwa
>  > odmiana

Tak.
Może zostać w ten sposów, może być w drzewku, czyli np.
/elementy/pozycja/informacje_dodatkowe/odmiana
To i tak będzie ręcznie wpisywane jako atrybuty do programu.

> 
> Da się to zrobić edytorem (replace/zamiana). Duplikaty wyciąć także 
> edytorem. Wycięcie śmieci także edytorem (regexp). Choć pareserem jest 
> łatwiej, uniwersalniej i szybciej.

Czyli na dobrą sprawę wystarczyłby edytor typu tekstowego, w którym dało by
się zrobić warunek negatywny w rodzaju:

jeżeli <> "/elementy/pozycja/informacje_dodatkowe/" to usuń

Jakaś podpowiedź względem edytora albo tak skonstruowanego warunku?


-- 
Pozdrawiam.

Adam
Re: Szukanie gałęzi w xml
#195738
Author: artiun
Date: Thu, 10 Jun 2021 20:55
14 lines
2324 bytes
> 
> Czyli na dobrą sprawę wystarczyłby edytor typu tekstowego, w którym dało by
> się zrobić warunek negatywny w rodzaju:
> 
> jeżeli <> "/elementy/pozycja/informacje_dodatkowe/" to usuń
> 
> Jakaś podpowiedź względem edytora albo tak skonstruowanego warunku?
> 
Czyli problemu nie ma. Z tym, że tu jest odwrotnie. Ja np. używam EmEdytor, 
pozwala na otwieranie dużych plików. W opcjach Edit/Separated value/Sort ma 
możliwość sortowania zawartości pliku. Po tym można ręcznie wyciąć to co nie 
pasuje do /elementy/pozycja/informacje_dodatkowe/ wtedy ta sekwencja 
zostanie w jednym bloku. Jednak jak napisałem napisanie sobie parsera 
(przykładowo w PHP nie zajmie wiele) staje się uniwersalne i powtarzalne.
Re: Szukanie gałęzi w xml
#195739
Author: artiun
Date: Thu, 10 Jun 2021 21:00
2 lines
1693 bytes
Notepad++ (free)
też ma sortowanie: "Edit/Line operations/Sort lines..."
Re: Szukanie gałęzi w xml
#195740
Author: Ronald Kuczek
Date: Tue, 15 Jun 2021 20:29
57 lines
2967 bytes
poniedziałek, 7 czerwca 2021 o 13:14:41 UTC+2 Adam napisał(a):
> Witajcie. 
> 
> Jest sobie stado plików XML w których potrzebuję znaleźć wszystkie gałęzie, 
> jakie wystąpiły, ale od określonego miejsca. 
> 
> Konkretnie: 
> Są to faktury. 
> 
> Ich struktura wygląda mniej-więcej tak: 
> 
> /nagłówek 
> /nagłówek/data wystawienia 
> /nagłówek/data sprzedaży 
> /nagłówek/kontrahent_NIP 
> (...) 
> /elementy/pozycja 
> /elementy/pozycja/pozycja_nr 
> /elementy/pozycja/EAN 
> /elementy/pozycja/ilosc 
> /elementy/pozycja/cena 
> /elementy/pozycja/informacje_dodatkowe 
> /elementy/pozycja/informacje_dodatkowe/numer_partii 
> /elementy/pozycja/informacje_dodatkowe/numer_swiadectwa 
> /elementy/pozycja/informacje_dodatkowe/gatunek 
> 
> 
> Teraz tak: 
> w jednej pozycji występuje przykładowo: 
> 
> /elementy/pozycja/informacje_dodatkowe/numer_partii 
> /elementy/pozycja/informacje_dodatkowe/termin 
> /elementy/pozycja/informacje_dodatkowe/gatunek 
> 
> a w innej pozycji: 
> 
> /elementy/pozycja/informacje_dodatkowe/numer_swiadectwa 
> /elementy/pozycja/informacje_dodatkowe/odmiana 
> 
> 
> Chciałbym uzyskać listę wszytskich możliwych gałęzi poniżej 
> /elementy/pozycja/informacje_dodatkowe/ 
> 
> Da się to w jakimś edytorze lub programie pozbierać do kupy? 
> Wiersze mogą się powtarzać, z mojego punktu widzenia ważne jest, aby czegoś 
> nie przegapić. 
> 
> 
> -- 
> Pozdrawiam. 
> 
> Adam
Skorzystaj z silnika bazodanowego.  Wrzuć te pliki np. do PostgreSQL a później:
https://www.postgresql.org/docs/9.1/functions-xml.html
Prostymi selectami wyciągniesz sobie co tylko zechcesz.
Pozdrawiam
Rony
Re: Szukanie gałęzi w xml
#195741
Author: Ronald Kuczek
Date: Tue, 15 Jun 2021 20:38
63 lines
3313 bytes
wtorek, 15 czerwca 2021 o 22:29:42 UTC+2 Ronald Kuczek napisał(a):
> poniedziałek, 7 czerwca 2021 o 13:14:41 UTC+2 Adam napisał(a): 
> > Witajcie. 
> > 
> > Jest sobie stado plików XML w których potrzebuję znaleźć wszystkie gałęzie, 
> > jakie wystąpiły, ale od określonego miejsca. 
> > 
> > Konkretnie: 
> > Są to faktury. 
> > 
> > Ich struktura wygląda mniej-więcej tak: 
> > 
> > /nagłówek 
> > /nagłówek/data wystawienia 
> > /nagłówek/data sprzedaży 
> > /nagłówek/kontrahent_NIP 
> > (...) 
> > /elementy/pozycja 
> > /elementy/pozycja/pozycja_nr 
> > /elementy/pozycja/EAN 
> > /elementy/pozycja/ilosc 
> > /elementy/pozycja/cena 
> > /elementy/pozycja/informacje_dodatkowe 
> > /elementy/pozycja/informacje_dodatkowe/numer_partii 
> > /elementy/pozycja/informacje_dodatkowe/numer_swiadectwa 
> > /elementy/pozycja/informacje_dodatkowe/gatunek 
> > 
> > 
> > Teraz tak: 
> > w jednej pozycji występuje przykładowo: 
> > 
> > /elementy/pozycja/informacje_dodatkowe/numer_partii 
> > /elementy/pozycja/informacje_dodatkowe/termin 
> > /elementy/pozycja/informacje_dodatkowe/gatunek 
> > 
> > a w innej pozycji: 
> > 
> > /elementy/pozycja/informacje_dodatkowe/numer_swiadectwa 
> > /elementy/pozycja/informacje_dodatkowe/odmiana 
> > 
> > 
> > Chciałbym uzyskać listę wszytskich możliwych gałęzi poniżej 
> > /elementy/pozycja/informacje_dodatkowe/ 
> > 
> > Da się to w jakimś edytorze lub programie pozbierać do kupy? 
> > Wiersze mogą się powtarzać, z mojego punktu widzenia ważne jest, aby czegoś 
> > nie przegapić. 
> > 
> > 
> > -- 
> > Pozdrawiam. 
> > 
> > Adam
> Skorzystaj z silnika bazodanowego. Wrzuć te pliki np. do PostgreSQL a później: 
> https://www.postgresql.org/docs/9.1/functions-xml.html 
> Prostymi selectami wyciągniesz sobie co tylko zechcesz. 
> Pozdrawiam 
> Rony
Sorry za starszy link patrz:
https://www.postgresql.org/docs/12/functions-xml.html#FUNCTIONS-XML-PROCESSING
Hint: xmldata
Pozdrawiam
Rony
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads