🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: pl.comp.lang.javascript
4 messages
4 total messages Started by lamer Thu, 12 Nov 2009 18:25
Jak przeslac drzewo (lista UL) do serwera w najlepszy sposob?
#49519
Author: lamer
Date: Thu, 12 Nov 2009 18:25
21 lines
1482 bytes
Hej
Jest drzewo, np. takie:

<ul>
<li>Raz
<ul>
<li>Dwa
<li>Trzy
</ul>
<li>Cztery
</ul>

Musze je przeslac do PHP. Moge oczywiscie wziac caly kod HTML drzewa i 
przeslac, ale potem musze na serwerze ten HTML parsowac, a ja nie chce 
meczyc serwera.
Jak najlepiej te drzewo przetworzyc w JavaScripcie, zeby po wyslaniu na 
serwer jego dalsza obrobka byla w miare prosta?
Do JSONa? Do XML? No i jak przekonwertowac szybko takie drzewo do innego 
formatu?

lamer 
Re: Jak przeslac drzewo (lista UL) do serwera w najlepszy sposob?
#49520
Author: lamer
Date: Thu, 12 Nov 2009 19:46
5 lines
1084 bytes
jQuery:

$('#jakiesID li').each(function() {} );

lamer
Re: Jak przeslac drzewo (lista UL) do serwera w najlepszy sposob?
#49521
Author: Andrzej Kmicic
Date: Sun, 22 Nov 2009 07:19
118 lines
3056 bytes
lamer pisze:
> Hej
> Jest drzewo, np. takie:
> 
> <ul>
> <li>Raz
> <ul>
> <li>Dwa
> <li>Trzy
> </ul>
> <li>Cztery
> </ul>
> 
> Musze je przeslac do PHP. Moge oczywiscie wziac caly kod HTML drzewa i 
> przeslac, ale potem musze na serwerze ten HTML parsowac, a ja nie chce 
> meczyc serwera.
> Jak najlepiej te drzewo przetworzyc w JavaScripcie, zeby po wyslaniu na 
> serwer jego dalsza obrobka byla w miare prosta?
> Do JSONa? Do XML? No i jak przekonwertowac szybko takie drzewo do innego 
> formatu?
> 
> lamer

Hej
Json i XML też musi serwer parsować , czy tak czy tak "wsio rawno", 
budowa ul moze być zagnieżdzona wiec mysle najlepiej wprost zrobic z 
tego XML tylko uzupełnic o nagłówek(ale nie koniecznie) i gotowe.

Tylko z pewnością podomykac nalezy tagi <li> :

<ul>
<li>Raz</li>
<ul>
<li>Dwa</li>
<li>Trzy</li>
</ul>
<li>Cztery</li>
</ul>


prosty parser  :

<?php
$xml="<ul>
<li>Raz</li>
<ul>
<li>Trzy</li>
<li>Cztery</li>
<ul>
<li>Piec</li>
<li>Szesc</li>
</ul>
</ul>
<li>Dwa</li>
</ul>";
$dom = new domDocument;
$dom->loadXML($xml);
if (!$dom) {
     echo 'Error while parsing the document';
     exit;
}

$s = simplexml_import_dom($dom);
print_r($s);
print_ul($s,0);

// rekurencyjny czytacz obiektów SimpleXMLElement
function print_ul($sObject,$level) {
foreach($sObject as $key=>$item) {
if ($key=='ul')
print_ul($item,$level+1); else
echo $key."($level)->".$item."\n";
}
}
?>

wynik:
SimpleXMLElement Object
(
     [li] => Array
         (
             [0] => Raz
             [1] => Dwa
         )

     [ul] => SimpleXMLElement Object
         (
             [li] => Array
                 (
                     [0] => Trzy
                     [1] => Cztery
                 )

             [ul] => SimpleXMLElement Object
                 (
                     [li] => Array
                         (
                             [0] => Piec
                             [1] => Szesc
                         )

                 )

         )

)

Wynik z czytacza:

li(0)->Raz
li(1)->Trzy
li(1)->Cztery
li(2)->Piec
li(2)->Szesc
li(0)->Dwa

pozdr
AK
Re: Jak przeslac drzewo (lista UL) do serwera w najlepszy sposob?
#49522
Author: lamer
Date: Sun, 22 Nov 2009 22:06
10 lines
1364 bytes
Jest to jakas opcja.

Ale zeby nie meczyc serwera to w JS zrobilem parsowanie drzewa do postaci
ID elementu, ID rodzica
ID elementu2, ID rodzica2

Po przeslaniu tego do PHP mam juz niemal gotowe dane do wrzucenia do bazy 
bez meczenia serwera rekurencjami.

lamer 
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