DOM Ewa Dukała Piotr Muszyński. DOM DocumentBuilder Factory Document Builder XML Data object obiectobject DocumentDOM.

Slides:



Advertisements
Podobne prezentacje
Przekształcanie dokumentów XML - XSL
Advertisements

Wstęp do strumieni danych
Programowanie Wizualne WYKŁAD 5
Mgr inż.Marcin Borkowski Podstawy Java Krótkie wprowadzenie dla studentów Wyższej Szkoły Ekologii i Zarządzania
Rafał Hryniów Tomasz Pieciukiewicz
Łódź, 29 października 2012 roku
Implementacja procesora XSLT w języku Ocaml
Static, const, volatile.
Systemy rozproszone W. Bartkiewicz
Sposoby implementacji asocjacji
Implementacja ekstensji klasy
XPath XSLT – część XPath. XSLT – część 12 XPath – XML Path Language Problem: –jednoznaczne adresowanie fragmentów struktury dokumentu XML.
XPath. XSLT – część XPath. XSLT – część 12 XPath – XML Path Language Problem: –jednoznaczne adresowanie fragmentów struktury dokumentu XML.
11 XML a SGML. Standardy pokrewne.. 22 SGML a XML – różnice Deklaracja SGML: konfiguracja wyglądu znaczników, ich maksymalnej długości, itp., definicja.
Nguyen Hung Son Uniwersytet Warszawski
XSL Extensible Stylesheet Language 6 listopada 2003.
XPath. XSL – część 1..
SAX i DOM wykorzystanie XML-a we własnych aplikacjach
Technologie XML Mgr inż. Michał Jaros Technologie XML wykład 3.
Generyczne Repozytorium Dokumentów w XML
ODE Zapytania. Pętla for (1) Do obiektów będących instancjami klas możemy uzyskać dostęp za pomocą pętli for Zakres tej pętli to wszystkie obiekty klasy.
Gniazda komunikacji sieciowej w języku Java
Zachodniopomorskie Centrum Edukacyjne Zadanie domowe.
Tablice tablica jest sekwencją elementów tego samego typu (prostego lub obiektowego) w Javie tablice są obiektami, a zmienne tablicowe przechowują referencję
Projektowanie warstwy serwera Współpraca z XML. Projektowanie warstwy serwera Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu.
Polsko-Japońska Wyższa Szkoła Technik Komputerowych
Podstawy programowania II Wykład 2: Biblioteka stdio.h Zachodniopomorska Szkoła Biznesu.
System webowy do tworzenia kolektywnych prototypów aplikacji sieciowych i mobilnych Łukasz Przywarty
Integracja aplikacji Wykład 2
HTML DOM, XHTML – cel, charakterystyka
Java 3 MPDI Programowanie obiektowe W7. import java.io.*; public class X { // kontrukcja throws – określenie jakie wyjątki może dana metoda // sygnalizować
W większości języków programowania biblioteki wejścia/wyjścia ukrywają szczegóły obsługi poszczególnych mediów pod abstrakcją strumienia (ang. stream).
ANNA BANIEWSKA SYLWIA FILUŚ
Tworzenie aplikacji mobilnych
Automatyka i Robotyka Systemy czasu rzeczywistego Wykład 4.
Autor: Kamil Szafranek
JAVA c.d.. Instrukcji wyboru SWITCH używamy, jeśli chcemy w zależności od wartości pewnego wyrażenia wykonać jeden z kilku fragmentów kodu. Jest to w.
Andrzej Repak Nr albumu
Seminarium problemowe
Programowanie obiektowe Wykład 3 dr Dariusz Wardowski, Katedra Analizy Nieliniowej, WMiI UŁ 1/21 Dariusz Wardowski.
Tworzenie Aplikacji Internetowych dr Wojciech M. Gańcza 8.
Podstawy informatyki 2013/2014
Specjalizacja "Dziennikarstwo On-line„ asynchroniczny JavaScript i XML – AJAX Część 6 Prowadzący: Dariusz Jaruga
Przekazywanie parametrów do funkcji oraz zmienne globalne i lokalne
Programowanie obiektowe 2013/2014
OBIEKTY Utworzenie obiektu var osoba = { „imię”:”Anna”,
Projektowanie stron WWW
Wykład 3 Programowanie obiektowe. Dokument HTML składa się z obiektów (standardowych i utworzonych przez użytkownika). Głównym obiektem jest document,
J A V A S C R I P T Obiekty Opracowała: Anna Śmigielska.
Treści multimedialne - kodowanie, przetwarzanie, prezentacja Odtwarzanie treści multimedialnych Andrzej Majkowski informatyka +
Treści multimedialne - kodowanie, przetwarzanie, prezentacja Odtwarzanie treści multimedialnych Andrzej Majkowski informatyka +
Technologie internetowe Wykład 5 Wprowadzenie do skrytpów serwerowych.
Obiekty DOM.
Technologie internetowe
Iga Lewandowska I EMII MU
Adresowanie elementów struktury dokumentów - XPath.
Programowanie sieciowe w Javie Michał Kuciapski
Obiektowe metody projektowania systemów XML eXtensible Markup Language.
Waldemar Bartyna 1 Programowanie zaawansowane LINQ to XML.
ŁÓDŹ Budowa cyfrowego archiwum przy pomocy aplikacji IBM DB2 Content Manager Anna Leśniak 18 stycznia 2005.
Wykład 2 Programowanie obiektowe. Programowanie obiektowe wymaga dobrego zrozumienia działania funkcji definiowanych przez użytkownika, w ten sposób będziemy.
Portal edukacyjny J A V A S C R I P T JĘZYK PROGRAMOWANIA STRON HTML Opracowała: Anna Śmigielska.
Implementacja asocjacji (z atrybutami i bez) przy użyciu: referencji (kolekcji referencji) tablic asocjacyjnych przygotował: Kamil Kowalczyk.
Strumienie w języku Java Bartosz Walter InMoST Wielkopolska sieć współpracy w zakresie innowacyjnych metod wytwarzania oprogramowania Termin realizacji:
Programowanie Obiektowe – Wykład 6
Delegaty Delegat to obiekt „wiedzący”, jak wywołać metodę.
Programowanie Obiektowe – Wykład 2
Aplikacje i usługi internetowe
Aplikacje i usługi internetowe
PGO - Projektowanie i implementacja pierwszych klas
Zapis prezentacji:

DOM Ewa Dukała Piotr Muszyński

DOM DocumentBuilder Factory Document Builder XML Data object obiectobject DocumentDOM

DOM w przeglądarce Strony internetowe też w DOM JavaScript i dynamiczny HTML Przykład skryptu: var anchorTags = document.getElementsByTagName("a"); for (var i = 0; i < anchorTags.length ; i++) { alert("Atrybut href dla " + i + " elementu to: " + anchorTags[i].href + "\n"); }

DOM — Schemat przetwarzania Odczyt dokumentu i utworzenie drzewa obiektów w pamięci Przetwarzanie dokumentu (wyszukiwanie/dodawanie/usuwanie) Zapis wyniku

Przykładowy dokument XML Zatrudniony na stanowisku programisty Zatrudniona na stanowisku asystenta

DOM — Przykład Przykład pokazujący wczytywanie dokumenty do pamięci import javax.xml.parsers.*; import org.w3c.dom.*; public class DomDemoOdczytu { public static void main(String argv[]) throws Exception { DocumentBuilderFactory fabryka = DocumentBuilderFactory.newInstance(); DocumentBuilder budowniczy = factory.newDocumentBuilder(); Document document = budowniczy.parse("c://przyklad.xml"); //teraz możemy wykonywać operację na obiekcie dokument }

Typy węzłów — nodeType() Typ węzłanodeName()nodeValue() AttrNazwa atrybutuWartość atrybutu Comment#commentTreść komentarza Document#documentnull ElementNazwa elementunull EntityNazwa encjinull PInazwatreść Text#teksttreść Stałe: ELEMENT_NODE, ATTRIBUTE_NODE, TEXT_NODE,...

Reprezentacja w pamięci Element -, Attr – imie, nazwisko Text – Zatrudniony…, Zatrudniona… Zatrudniony na stanowisku … Zatrudniona na stanowisku …

Operacje odczytu danych Document.getDocumentElement() – zwraca główny element dokumentu (zawsze musi być jeden taki element) Node. getElementsByTagName(nazwa) – zwraca listę elementów, o określonej nazwie Element.getAttribute(nazwa) – używane do wyciągnięcia danych z atrybutu Node.getTextContent() – wyciąga dane tekstowe

Przykład operacji odczytu Element root = document.getDocumentElement(); NodeList osoby = root.getElementsByTagName("osoba"); int liczbaOsob = osoby.getLength(); for(int i=0; i<liczbaOsob; i++) { Element osoba = (Element)osoby.item(i); Attr attrImie = osoba.getAttributeNode("imie"); String imie = attrImie.getValue(); //alternatywny sposób odczytu atrybutu: String nazwisko = osoba.getAttribute("nazwisko"); String opis = osoba.getTextContent(); System.out.println(nazwisko+" "+imie+" "+opis); } //Wynik działania kodu: //Kowalski Jan Zatrudniony na stanowisku... //Kowalska Anna Zatrudniona na stanowisku... Zatrudniony na stanowisku … Zatrudniona na stanowisku …

Tworzenie XML w pamięci Pusty dokument tworzymy instrukcją: doc = DocumentBuilder.newDocument(); Element zawsze tworzymy z dokumentu Element elem = doc.createElement(„nazwa”); Dodanie elementu do dokumentu lub innege elementu: parent. appendChild(elem); Dodanie atrubutu elem.setAttribute(„nazwa”,”wartość”); Dodanie tekstu do elementu elem.setTextContent(„dane tekstowe”);

Przykład tworzenia dokumentu Document document = builder.newDocument(); Element root = document.createElement("root"); document.appendChild(root); Element osoba1 = document.createElement("osoba"); osoba1.setAttribute("imie", "Jan"); osoba1.setAttribute("nazwisko", "Kowalski"); osoba1.setTextContent("Zatrudniony na stanowisku..."); root.appendChild(osoba1);... root.appendChild(osoba2); Zatrudniony na stanowisku … Zatrudniona na stanowisku …

Transformacja Umożliwia przekształcenie jednego dokumentu XML w inny Może zamienić dokument XML w dokument HTML Plik opisujący transformację XSLT też jest dokumentem XML

Przykładowy dokument XSLT Nazwisko Imię Opis Zatrudniony na stanowisku … Zatrudniona na stanowisku …

Wykonanie transformacji w kodzie Document dok = StworzDokumentXml(); TransformerFactory tFactory = TransformerFactory.newInstance(); StreamSource xslt = new StreamSource("c://transformacja.xslt"); Transformer transformer = tFactory.newTransformer(xslt); StreamResult html = new StreamResult( new FileOutputStream("c://wynik.html")); transformer.transform(new DOMSource(dok), html); XMLXSLT XML transformacja XMLXSLT HTML transformacja

Przykładowy wynik transformacji dom dEMO Nazwisko Imię Opis Kowalski Jan Zatrudniony na stanowisku... Kowalska Anna Zatrudniona na stanowisku...

Koniec 1.Napisz program, który utworzy dokument XML z twoimi danymi osobowymi i zapisze ten dokument na dysku. 2. Wykożystując mechanizm XSLT przetransformuj xml z zadania pierwszego na stronę html reprezentującą wizytówkę i zapisz ją na dysku. 3.Napisz program, który umożliwi do xml stworzonego w pierwszym zadaniu dodania danych osobowych innych osób. Po zakończeniu dodawania dokument ma zostać uaktualniony na dysku.