🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: pl.comp.bazy-danych
3 messages
3 total messages Started by Adam Mon, 07 Jun 2021 13:14
Szukanie gałęzi w xml
#188695
Author: Adam
Date: Mon, 07 Jun 2021 13:14
50 lines
1246 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
#188696
Author: Adam
Date: Mon, 07 Jun 2021 15:42
31 lines
913 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
#188697
Author: Adam
Date: Wed, 09 Jun 2021 11:31
76 lines
2220 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
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