![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 56 Pomógł: 0 Dołączył: 31.03.2007 Ostrzeżenie: (0%) ![]() ![]() |
Witam. Poprzez Ajax otrzymuje taki XML:
Mój problem jest dość podstawowy, ale nie mogę znaleźć jakiegoś spójnego źródła informacji. Manual/Api Prototype jest dobry dla kogoś kto już się w tym w miarę swobodnie porusza i chce sobie przypomnieć nazwę metody. Tutoriale natomiast prezentują osobno pobieranie XMLa, osobno wstawianie danych z JSON na stronę, ja jednak nie mogę tego połączyć w całość. Generalnie mam zmienną z XMLem (string). chciałbym tą pobraną listę użytkowników wrzucić do HTML-owej listy: Nie mogłem znaleźć jakiegoś rozsądnego tutoriala pokazującego techniczne aspekty chodzenia po strukturze XMLa. Skorzystałem z czegoś co miało mi przerobić XML na jakąśtam strukturę (łatwą do porzejścia w przykładach): var xotree = new XML.ObjTree(); var tree = xotree.parseXML( respXML ); Następnie robię coś takiego: for(var lUser in tree.users.user){ $('users_list').insert(new Element("li", { id: "moo" }).update(lUser.login)); } I guzik. lista na stronie powiększa się o kilkadziesiąt pustych <li id="moo"></li>, mimo iż XML zawiera tylko dwóch użytkowników. Byłbym bardzo wdzięczny za jakiś przykład bądź link do takowego, wyjaśniający jak z tego XMLa mam wyciągać kolejne dane. -- Edit -- A może olać sobie zabawę z XMLem i w php generować gotowy kod, i zamiast Ajax.Request uzyć Ajax.Update, który mi to bez problemu wrzuci w podane mu miejsce? Ten post edytował MarcinTryka 27.04.2008, 01:38:52 |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 207 Pomógł: 25 Dołączył: 16.11.2006 Ostrzeżenie: (0%) ![]() ![]() |
nie znam się na prototype, ale normalny XMLHttpRequest oferuje coś takiego jak responseXML, czyli XML string sparsowany na DOM.
No nic, mając XMLa w stringu, robisz tak:
gdzie zmienna text to nasz XML w stringu, a xmlDoc to sparsowany XML string do DOM. Teraz możesz użyć XPatha, albo DOMa do wyciągania wartości. Podam rozwiażanie na przykładzie DOMa, bo akurat tutaj będzie prostsze.
tylko uważaj na whitespace, najlepiej to wyświetlaj XML w jednej linijce
ewentualnie użyj wspomnianego XPath, tam akurat nie ma problemu z whitespace. |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 24.07.2025 - 16:07 |