XML w.net. Dominik Baś nr alb. 160345. Wrocław, 29 maja 2007



Podobne dokumenty
Kurs języka Python Wykład 8. Przetwarzanie tekstu Wyrażenia regularne Biblioteka urllib Parsowanie html'a XML

Zaawansowany kurs języka Python

LINQ TO XML. Autor ćwiczenia: Marcin Wolicki

Obiektowy model dokumentu. Katedra Mikroelektroniki i Technik Informatycznych

Zaawansowane aplikacje WWW - laboratorium

Kurs rozszerzony języka Python

Perl a XML. Narzędzia informatyczne w językoznawstwie. Generowanie danych XML - Przykład. Generowanie danych XML. Perl - Przetwarzanie XML

Wykorzystywanie parsera DOM w programach Java i PL/SQL

Extensible Markup Language (XML) Wrocław, Java - technologie zaawansowane

XML i nowoczesne technologie zarządzania treścią

Platforma.NET Wykład 9 Obsługa standardu XML

SAX i DOM wykorzystanie XML-a we własnych aplikacjach. Simple API for XML Parsing Document Object Model

UEK w Krakowie Janusz Stal & Grażyna Paliwoda-Pękosz

Podstawy języka XML. UEK w Krakowie Janusz Stal & Grażyna Paliwoda-Pękosz

Platforma.NET Wykład 9 Obsługa standardu XML. Spis treści. Plan wykładu spotkania tydzień po tygodniu. Plan wykładu tydzień po tygodniu.

HttpRequest Aplikacja Czat

Ekspert radzi. mechanizm w enova, umożliwiający wskazanie domyślnej drukarki dla danego stanowiska i wydruku. Strona 1 z 8. Ekspert radzi.

Model semistrukturalny

Kompilacja i kompilatory

Instrukcja implementacji sterownika wirtualnego portu szeregowego dla systemu Android. Opracowanie: Elzab Soft sp. z o.o.

PHP. Tematyka wykładów: Język PHP PHP i bazy danych Rozszerzenia PHP

Platforma.NET Wykład 9 Obsługa standardu XML. Spis treści. Marek Sawerwain. 23 maja Notatki. Notatki

Metody dostępu do danych

Integracja Comarch e-sprawozdania

SAX2 pakiet org.xml.sax

Programowanie obiektowe

Tablice cz. I Tablice jednowymiarowe, proste operacje na tablicach

Modele dostępu do dokumentu XML. Implementacja modelu parser. SAX2 pakiet org.xml.sax. Działanie modelu SAX przykład

libxml2 parser DOM dla C++ czwartek, 8 grudnia 11

DOM SAX AJAX. SAX,DOMiAJAX. Bartłomiej Świercz. Katedra Mikroelektroniki i Technik Informatycznych. Łódź, 11 kwietnia 2010

Drzewa DOM. Maciej Zakrzewicz.

Procesowanie dokumentów XML

1. CZYM JEST SERIALIZACJA

XQuery. XQuery. Przykład. dokument XML. XQuery (XML Query Language) XQuery 1.0: An XML Query Language. W3C Recommendation

Środowisko publikacyjne oparte na XML-u. Szymon Zioło 1 maja 2004

Scenariusz Web Design DHTML na 10 sesji. - Strony statyczne I dynamiczne. - Dodawanie kodu VBScript do strony HTML. Rysunek nie jest potrzebny

Wykład II. Programowanie II - semestr II Kierunek Informatyka. dr inż. Janusz Słupik. Wydział Matematyki Stosowanej Politechniki Śląskiej

Języki formatowania dokumentów strukturalnych. XSL przekształcenia XML-a. XSL a XSLT. XSL części składowe. Zasada działania przekształcenia XSLT

GML w praktyce geodezyjnej

Programowanie obiektowe

XML Path Language (XPath)

Wprowadzenie do Doctrine ORM

JAVA I XML ZAGADNIENIA: DOM, SAX, JAXB, XMLDecoder i XMLEncoder, ANT.

Programowanie i struktury danych

Oprogramowanie i wykorzystanie stacji roboczych. Wykład 4

Tworzenie gadgetów Windows Vista/7. Krzysztof Jeliński Toruń 2011

Rola języka XML narzędziem

Programowanie obiektowe

Gatesms.eu Mobilne Rozwiązania dla biznesu

Programowanie w języku Java

Biblioteki dzielone, XML i readline

NHibernate. Narzędzie mapowania obiektowo - relacyjnego

Programowanie i struktury danych

Aby uzyskać zaliczenie w pierwszym terminie (do 30 stycznia 2018) rozliczyć trzeba co najmniej 8 projektów, po 4 z każdej z części: C++ oraz Python.

SOAP. Autor: Piotr Sobczak

akademia androida Składowanie danych część VI

Qt sygnały i designer

Programowanie obiektowe

Automatyczne generowanie kodu. 4Developers, 26 marca 2010

Tablice deklaracja, reprezentacja wewnętrzna

Dokument poprawnie sformułowany jest zgodny z ogólnymi zasadami składniowymi:

Podstawy programowania skrót z wykładów:

Dane opatrzone informacją o położeniu obiektów w świecie rzeczywistym. Współrzędne geograficzne. Geokodowanie

Programowanie obiektowe

Złożone komponenty JSF wg

XML i nowoczesne technologie zarządzania treścią 2007/08

JĘZYK PYTHON - NARZĘDZIE DLA KAŻDEGO NAUKOWCA. Marcin Lewandowski [ mlew@ippt.gov.pl ]

XQuery. sobota, 17 grudnia 11

Projekt i implementacja narzędzia do analizy modeli spójności F R Y D E R Y K R A C Z Y K K O N R A D S Z A Ł K O W S K I

Dynamiczne struktury danych

Kiedy potrzebne. Struktura (rekord) Struktura w języku C# Tablice struktur. struktura, kolekcja

Rodzaje przetwarzania XSLT (1)

Katalog książek cz. 2

Plan prezentacji. Krótko o XML Arkusze stylów XSLT XSL XSL Path Przegląd konstrukcji języka i przykłady Narzędzia Podsumowanie Literatura

Zaawansowany kurs języka Python

JavaScript funkcyjność

Podstawy XML-a. Zaawansowane techniki programowania

Lista dwukierunkowa - przykład implementacji destruktorów

Zadanie polega na stworzeniu bazy danych w pamięci zapewniającej efektywny dostęp do danych baza osób.

Class1.vb. _Dlugosc_stopnia = value End Set End Property Public Property Faza As Single Get Return _Faza End Get

Delphi Laboratorium 3

Języki programowania imperatywnego

Microsoft IT Academy kurs programowania

Aplikacje WWW - laboratorium

Metodyka i Technika Programowania 1

Wprowadzenie db4o - podstawy db4o - technikalia Przydatne wiadomości. Wprowadzenie. db4o. Norbert Potocki. 1 czerwca Norbert Potocki db4o

Standard pliku importu danych pracowników i firm do programu e-pity (od wersji e-pity 3.0)

Tworzenie aplikacji w języku Java

OPERACJE NA PLIKACH. Podstawowe pojęcia:

Przetwarzanie dokumentów XML i zaawansowane techniki WWW Wykład 06

Programowanie telefonów z Windows Phone 7, cz. 4

Dla każdej operacji łącznie tworzenia danych i zapisu ich do pliku przeprowadzić pomiar czasu wykonania polecenia. Wyniki przedstawić w tabelce.

Pętle. for, while, do... while, foreach. Materiał pomocniczy do kursu Podstawy programowania Autor: Grzegorz Góralski ggoralski.

Web Services w połączeniu z aplikacjami uruchamianymi na urządzeniach mobilnych

Język XSLT. UEK w Krakowie Janusz Stal & Grażyna Paliwoda-Pękosz. UEK w Krakowie Janusz Stal & Grażyna Paliwoda-Pękosz

Algorytmy i Struktury Danych. Anna Paszyńska

Programowanie Multimediów. Programowanie Multimediów JAVA. wprowadzenie do programowania (3/3) [1]

Rozszerzenie funkcjonalności systemów wiki w oparciu o wtyczki i Prolog

Generowanie dokumentów XML z tabel relacyjnych - funkcje SQLX

Transkrypt:

XML w.net Dominik Baś nr alb. 160345 Wrocław, 29 maja 2007

Przetwarzanie dokumentów XML API: SAX Simple Api for XML - przetwarzanie strumieniowe DOM - Document Object Model - odwzorowanie dokumentu XML w postaci drzewa

Klasy do obsługi XML w.net Przestrzeń nazw System.Xml Przetwarzanie strumieniowe: -XmlReader -XmlNodeReader -XmlTextReader -XmlValidatingReader -XmlWriter -XmlTextWriter DOM: -XmlNode -XmlDocument

Przykład użycia klasy XmlReader XmlReaderSettings settings = new XmlReaderSettings(); settings.validationtype i = ValidationType.Schema; i settings.schemas.add("http://mojschemat/", schemat.xsd"); using (XmlReader r = XmlReader.Create("plik.xml", settings)) { while (r.read()) if (r.nodetype == XmlNodeType.Element) Response.Write(r.Name); }

Przykład użycia klasy XmlWriter string ns = "http://biblioteka.com/biblo"; XmlWriterSettings settings = new XmlWriterSettings(); settings.indent = true; settings.indentchars = (" "); using (XmlWriter w = XmlWriter.Create("plik1.xml", settings)) { w.writestartdocument(); w.writestartelement("biblioteka"); w.writeattributestring("xmlns", "bibl", null, ns); w.writestartelement("ksiazka", ns); w.writeattributestring("stron", "258"); w.writeelementstring("autor", ns, "George Orwell"); w.writeelementstring( WriteElementString("tytul" tytul, ns, "Rok 1984"); w.writeendelement(); w.writeendelement(); w.writeenddocument(); w.flush(); }

Przykład użycia klasy XmlDocument const string ns = @"http://biblioteka.com/bibl"; const string prefix = "bibl"; XmlDocument doc = new XmlDocument(); XmlNode deklaracja = doc.createxmldeclaration("1.0", "UTF-8", null); doc.appendchild(deklaracja); XmlNode wezelbiblioteka = doc.createelement(prefix, "biblioteka", ns); doc.appendchild(wezelbiblioteka); XmlNode wezelksiazka = doc.createelement(prefix, "ksiazka", ns); XmlAttribute atrybutksiazka = doc.createattribute("stron"); atrybutksiazka.value tk = "258"; wezelksiazka.attributes.append(atrybutksiazka); wezelbiblioteka.appendchild(wezelksiazka); XmlNode wezelautor = doc.createelement(prefix, "autor", ns); wezelautor.appendchild(doc.createtextnode("george Orwell")); wezelksiazka.appendchild(wezelautor); XmlNode wezeltytul = doc.createelement(prefix, "tytul", ns); wezeltytul.appendchild(doc.createtextnode( CreateTextNode("Rok 1982")); wezelksiazka.appendchild(wezeltytul); doc.save("plik.xml");

Zawartość pliku wynikowego <?xml version="1.0" encoding="utf-8" standalone="yes"?> <biblioteka xmlns:bibl="http://biblioteka.com/bibl > <bibl:ksiazka stron="258"> <bibl:autor>george Orwell</bibl:Autor> <bibl:tytul>rok 1982</bibl:Tytul> </bibl:ksiazka> </biblioteka>

Modyfikacja dokumentu cons string ns = @"http://biblioteka.com/bibl"; const string prefix = "bibl"; XmlDocument doc = new XmlDocument(); doc.load("plik.xml"); XmlNamespaceManager nsm = new XmlNamespaceManager(doc.NameTable); NameTable); nsm.addnamespace("bibl", @"http://biblioteka.com/bibl"); XmlNodeList dolaczdo = doc.selectnodes("//bibl:ksiazka[bibl:tytul = 'Rok 1984']", nsm); foreach (XmlNode node in dolaczdo) { XmlNode wezeluwaga = doc.createelement(prefix, "uwaga", ns); wezeluwaga.innertext = "Chwilowo niedostępne"; node.appendchild(wezeluwaga); } doc.save("plik.xml"); l")

Zakres implementacji standardu XML SAX obsługuje standard XML 1.0 oraz przestrzenie nazw 1.0 DOM zaimplementowano w zakresie Level 1 Core oraz Level 2. Dodatkowo Microsoft umieścił własne rozszerzenia wykraczające poza standard W3.

Wady i zalety przetwarzanie strumieniowe Zalety: - Proste użycie - Małe zużycie pamięci - Szybkość Wady: - Brak swobodnego dostępu do elementów dokumentu - Brak wyszukiwania przy pomocy XPath - Brak możliwości ś i modyfikacji danych

Wady i zalety DOM Zalety: - Swobodny dostęp do wszystkich elementów - Reprezentacja dokumentu jako grupy obiektów - Możliwość modyfikacji dokumentu - Praca w trybie bezpołączeniowym Wady: - Cały dokument wczytywany do pamięci

Koniec Dziękuję za uwagę