Generowanie tabeli XML w środku HTML i jej zapis do pliku.

0

Jak wygenerować tabele XML przez javascript w środku dokumentu HTML, aby szło wykonywać na niej eventy ( tabela XML będzie stylowana przez CSS) np. zmiane koloru tła i potem zmiana wartośći pola w XML. Dla przykłady, na razie mam tabele w HTML coś ala szachownica, klikając na komórki mogę zmieniać ich kolor. Następnie zapisuje sobie tę tabele jako jpg (html2canvas). Teraz chce mieć też zapisane dane, więc XML wydaje się najlepszy do tego. Każda komórka ma mieć swoje ID, położenie x/y i kolor. I tutaj pytanie: Jak wygenerować taką tabelkę w XML, a następnie zmieniać 'value' komórek? Czy może lepiej jednoczesnie wygenerować i

http://jsfiddle.net/7g9rc/ .</p>
0

Generalnie to nie możesz tak zrobić. Doklejanie "customowych" elementów HTML, niezależnie czy bezpośrednio w HTML, czy poprzez javascript - jest dosyć "nieładne" (ale jakie byłoby wygodne, wiem).

Być może wystarczą Ci atrybuty data-* - HTML5 pozwala na dodawanie takich do każdego elementu, np: <div data-X="25" data-color="red" data-cokolwiek="ciasteczko"></div>?

http://stackoverflow.com/questions/18177472/is-it-bad-practice-to-use-custom-elements-in-html5 (najlepiej całość przeczytać)

0

Ciekawe rozwiązanie i chyba najprostsze, ale czy da się np potem te dane i całą

0

Ja tam zawsze będę twierdził, że JSON > XML ;)

Tak. Skoro HTML bazuje na XMLu to da się go bez większego problemu zapisać jako XML. (problem jest przy zapisach typu: <span>cośtam <b>cośtam</b></span>, ale tutaj też można zserializować to jakoś ;)

0

Poczytam o tym JSON. Z

<PLYTKA>
  <LED>
    <ID>1</ID>
    <X>1</ID>
    <Y>1</ID>
    <COLOR>red</COLOR>
  </LED>
  <LED>
    <ID>2</ID>
    <X>2</ID>
    <Y>1</ID>
    <COLOR>blue</COLOR>
  </LED>
</PLYTKA>

W tabeli w html kazdemu ustawie date- odpowiednie. Więc da się to bez problemu wyciągnąć przez jQuery, ale jak potem wygenerować z tych danych XML i go zapisać? Serwer będzie więc nie trzeba się bawić w zapis po stronie usera.

0

Żeby przerobić DOM na XML musisz zrobić to po stronie usera i przesłać do serwera.
No chyba, że ratuje Cię innerHTML i wysłanie tego do serwera i bawienie się z tym na serwerze - ale dokładasz sobie roboty ;)

0

Użyłem JSONa, dzięki za pomoc :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1