![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 12 Pomógł: 0 Dołączył: 20.09.2012 Ostrzeżenie: (0%) ![]() ![]() |
Witajcie.
Mój szef zadał mi pracę domową. Jest plik dane.xml o strukturze
Tych wpisów jest około 12000. wiele pól 'tel' się powtarza więc w jakiś magiczny sposób chciałbym wykryć zdublowane wpisy. W efekcie chciałbym aby wylistowany był tylko jeden a nie kilka czy kilkanaście. Potem wygenerować zmodyfikowany plik dane.xml. Niby wszystko wiem tylko problemem pozostaje wyfiltrowanie i pozbycie się zdublowanych telefonów. Mógłby mnie ktoś naprowadzić czego szukać lub podać jakiś przykład bym mógł sobie jakoś dojść do tego? Serdeczne dzięki z góry za podpowiedzi.
Powód edycji: [webdice]: Błąd ortograficzny.
|
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
@adbacz: 12.000 wpisów nie jest jakąś szczególnie wielką ilością, bez problemu można nad tym pracować.
1. Potrzebna będzie pomocnicza tablica, gdzie kluczami będą numery telefonów, zaś wartościami (do wyboru): 1.a. Ilość wystąpień (1, 2, 3...). 1.b. Kolejna tablica, zawierająca całą strukturę REC. 2. Potrzebna będzie druga pomocnicza tablica, w której przechowywać będziemy referencje do zdublowanych wpisów z pierwszej tablicy. 3. W przypadku, gdy do danego klucza pierwszej tablicy dopisujemy drugi rekord (wartość równa 2 w przypadku 1.a, bądź ilość elementów w tablicy równa 2 w przypadku 1.b ) tworzymy w drugiej pomocniczej tablicy referencję do owego klucza. Po wykonaniu się skryptu, w pierwszej tablicy będziesz posiadał zgrupowane elementy (względem numeru telefonu), zaś w drugiej tablicy referencję do tych elementów, które reprezentują duplikat (2 lub więcej rekordów o tym samym numerze tel.) EDIT: W drugiej tablicy zamiast referencji wystarczy trzymać klucz (tj. nr tel.). Ten post edytował Crozin 22.12.2012, 12:33:48 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 16.10.2025 - 06:58 |