![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 278 Pomógł: 35 Dołączył: 25.06.2010 Ostrzeżenie: (0%) ![]() ![]() |
Tworzę sporego XML-a i tak się zastanawiam jak będzie lepiej.
XML będzie zawierał sporą ilość elementów, do których będę musiał się jakoś odwołać. Mam do wyboru 1. Każdemu z elementów nadać unikalny identyfikator jako atrybut 2. Owy identyfikator umieścić jako dziecko danego elementu Taki XML w uproszczeniu wyglądał by następująco: Wariant 1:
Wariant 2:
Chciałem sprawdzić, która metoda będzie wydajniejsza. Napisałem taki kawałek kodu aby to sprawdzić:
I co się okazało ( w sumie mnie to nie dziwi, bo opcja 1 uruchamia dodatkowo funkcję attributes() ) że wrzucając identyfikatory w węzły skrypt działa zdecydowanie szybciej. I teraz dylemat, bo mimo wszystko poprawniejszym wydaje się sposób 1... Co o tym myślicie? |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 220 Pomógł: 19 Dołączył: 25.04.2009 Ostrzeżenie: (0%) ![]() ![]() |
Ekspertem od XML-a może nie jestem, ale wydaje mi się, że niepotrzebnie masz dylemat. Ja wybrałem zdecydowanie wariant 2, jeszcze zanim przeczytałem to, co napisałeś na końcu.
Moim zdaniem jeśli coś jest wydajniejsze to nie ma co snuć rozważań na temat większej i mniejszej poprawności, ale to tylko moje zdanie ![]() -------------------- Znalazłeś sam rozwiązanie swojego problemu? Nie pisz "już wiem, do zamknięcia". Podziel się rozwiązaniem - inni będą mieli łatwiej.
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 1 Pomógł: 0 Dołączył: 28.11.2011 Ostrzeżenie: (0%) ![]() ![]() |
Użyłbym drugiej wersji. Atrybuty są fajne, ale skoro wszystkie elementy mają ID, to nie ma raczej potrzeby wyrzucania go do atrybutów - to jest normalna własność elementów.
A z ciekawości: jak duża była ta różnica w wydajności? Ten post edytował miloszmuszynski 29.11.2011, 18:20:32 |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 278 Pomógł: 35 Dołączył: 25.06.2010 Ostrzeżenie: (0%) ![]() ![]() |
No taki trochę typowy dylemat między tym co czytelne dla oka, a co dla komputera.
W sumie XML często jest udostępniany innym "na zewnątrz", więc dobrze by było aby był spójny i logiczny. No ale chyba jednak zdecyduję się na opcję szybszą. Różnica - opcja 2 szybsza o trochę ponad 30%. |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 14.08.2025 - 14:53 |