Waldemar Bartyna 1 Programowanie zaawansowane LINQ to XML.

Slides:



Advertisements
Podobne prezentacje
Tworzenie stron internetowych
Advertisements

C++ wykład 2 ( ) Klasy i obiekty.
C++ wykład 4 ( ) Przeciążanie operatorów.
Programowanie obiektowe
Wzorce.
HTML.
XHTML Podstawowe różnice.
Visual Studio Codename „Orcas”, LINQ
Zaawansowana składnia XML XML Schema
25/08/2001 Bazy danych II 1 Piotr Górczyński Wstęp do SQL.
Technologie XML Mgr inż. Michał Jaros Technologie XML wykład 1.
Technologie XML Mgr inż. Michał Jaros Technologie XML wykład 3.
ODE Triggery. Wstęp n Triggery są trójką zdarzenie-warunek-akcja (event-condition- action). n Zdarzenia mogą być proste lub złożone, co zostanie omówione.
Inżynieria oprogramowania Lecture XXX JavaTM – część IV: IO
Dokumentowanie wymagań w języku XML
C++ wykład 2 ( ) Klasy i obiekty.
Pakiety i ATD 1 Definicja. Pakietem albo jednostką programową nazywamy grupę logicznie powiązanych elementów, które mogą być typami, podtypami, obiektami.
Typy danych – podstawy 1 W Adzie wszystkie dane muszą być określonego typu. Definicja Typ danych (data type) jest to zbiór wartości i operacji, które można.
Wykład 8 Wojciech Pieprzyca
Enteprise Java Beans Emil Wcisło.
Czytanie, pisanie i rysowanie – cd.. Jeszcze jeden strumyk PrintStream działa jak PrintWriter, ale: Używa domyślnego (systemowego) kodowania Nie wyrzuca.
Wstęp do programowania obiektowego
Projektowanie i programowanie obiektowe II - Wykład IV
Programowanie w Internecie 2 Ćwiczenie 4 – Transformacja danych Prowadzący: Rajmund Pączkowski.
Podstawy C# Grupa .NET PO.
Instytut Tele- i Radiotechniczny WARSZAWA
Podstawy programowania
XML – eXtensible Markup Language 4. XSL transformations (XSLT) XSLT (ang. eXtensible Stylesheet Language Transformations) jest opartym na XML językiem.
XML - podstawy Szymon Bohdanowicz. Pierwszy przykład Marek Szymon Przypomnienie Pamiętaj o spotkaniu w piątek.
Bazy danych.
Programowanie Windows na przykładzie C# część 1
Dziedziczenie Maciek Mięczakowski
Inicjalizacja i sprzątanie
XML – eXtensible Markup Language
Rozwiązanie zadań do zaliczenia I0G1S4 // indeks
Programowanie obiektowe – język C++
Programowanie obiektowe 2013/2014
Komendy SQL do pracy z tabelami i bazami
XML Publisher Przedmiot i zakres szkolenia Przedmiot i zakres szkolenia Przeznaczenie XML Publisher Przeznaczenie XML Publisher Definiowanie Definiowanie.
Programowanie strukturalne i obiektowe C++
Model obiektowy bazy danych
Temat 1: Ogólne cechy języka PHP
Technologie internetowe Wykład 5 Wprowadzenie do skrytpów serwerowych.
Programowanie zaawansowane Zaawansowane konstrukcje języka C#
Waldemar Bartyna Pytania egzaminacyjne 1.
Piotr Czapiewski Wydział Informatyki ZUT. Web Services Description Language.
XML w bazach danych.
Obiektowe metody projektowania systemów XML eXtensible Markup Language.
.NET i Bazy Danych Projekt: Wadim Grasza.
Obiekty COM Przemysław Buczkowski. Plan prezentacji 1.Wprowadzenie do COM 2.Historia standardu 3.Jak działa COM 4.Interface IUknown 5.Paradygmaty COM.
Platforma .Net.
Łukasz Bieszczad Mateusz Gałązka Karol Włodarek
Programowanie Zaawansowane
Refleksja i serializacja
Programowanie zaawansowane
1. Podaj definicję kartografii internetowej. 2. Geographic Markup Language: a) Jest schematem XML a) Opisuje obiekty w fizycznej przestrzeni a) Jest formatem.
Wykład 10 Programowanie w Windows 1.Aplikacja dialogowa (Dialog Based) PO10-1 / 26.
Partnerstwo dla Przyszłości 1 Lekcja 27 Klasy i obiekty.
Object-relational mapping (aka O/RM, ORM, and O/R mapping)
Waldemar Bartyna Pytania egzaminacyjne 1.
Aplikacje internetowe XML Paweł Lenkiewicz. Aplikacje internetowe – XML2 eXtensible Markup Language Uniwersalny język opisu danych Często używany we współpracy.
ASP.NET Dostęp do bazy danych z poziomu kodu Elżbieta Mrówka-Matejewska.
Zarządzanie stanem w aplikacjach ASP.NET Elżbieta Mrówka-Matejewska
Programowanie Obiektowe – Wykład 6
Programowanie Obiektowe – Wykład 2
Aplikacje i usługi internetowe
Założenia projektowe Javy
JavaBeans by Paweł Wąsala
PGO Przeciążanie metod i konstruktorów
Zapis prezentacji:

Waldemar Bartyna 1 Programowanie zaawansowane LINQ to XML

Waldemar Bartyna XML  XML (ang. Extensible Markup Language) – rozszerzalny język znaczników – uniwersalny, formalny język przeznaczony do reprezentowania danych w strukturalizowany sposób.  XML stał się standardem jako format, w jakim są przechowywane i przesyłane dane.  Zapewnia całkowitą niezależność od platformy sprzętowej, programowej i systemu operacyjnego. 2

Waldemar Bartyna Wykorzystanie XML w.NET  Pliki konfiguracyjne aplikacji przechowywane są w formacie XML,  Typ DataSet w technologii ADO.NET pozwala na zapisanie i wczytanie w prosty sposób danych w postaci dokumentów XML,  Windows Presenteation Fundation wykorzystuje gramatykę opartą na XML-u (XAML) do reprezentacji interfejsu graficznego.  Windows Commucication Fundation (jak również oryginalne API zdalnych wywołań) jako sformatowane łańcuchy znaków (XML). 3

Waldemar Bartyna Specyfikacja W3C  Mimo, że rzeczywiście XML jest powszechnie wykorzystywany, API do jego przetwarzania (zgodne ze specyfikacjami W3C) jest bardzo obszerne i złożone (DOM, SAX, XPath, XQuery, itd.).  Również platforma.NET zapewnia swoją wersję API do przetwarzana XML w pakiecie System.Xml.dll.  Jest ona zgodna ze specyfikacjami W3C (posiada również kilka swoich dodatków: modele XmlReader/XmlWriter). 4

Waldemar Bartyna LINQ to XML  Tak jak LINQ to SQL integruje manipulowanie relacyjnymi bazami danych bezpośrednio z językiem programowania, tak LINQ to XML chce osiągnąć ten sam rezultat w stosunku do przetwarzania danych zapisanych w formacie XML.  LINQ to XML pozwala na wydobycie podzbioru danych z istniejącego dokumentu XML za pomocą zapytań,  Pozwala również na tworzenie, modyfikowanie i parsowanie XMLowych dokumentów.  LINQ to XML może być postrzegany jako ”lepszy DOM”,  LINQ to SQL może współpracować z typami z ADO.NET. Podobnie LINQ to XML może współpracować z wieloma składowymi pakietu System.Xml.dll. 5

Waldemar Bartyna Pakiet System.Xml.Linq  Pakiet definiujący przestrzenie nazw związane z LINQ to XML to System.Xml.Linq. Jest on standardowo dołączany do każdego z nowo utworzonych projektów.  Pakiet ten definiuje typy w trzech różnych przestrzeniach nazw: System. Xml.Linq - bazowa przestrzeń zawiera zbór typów reprezentujących różne aspekty dokumentu XML, System.Xml.Schema, System.Xml.Xpath. 6

Waldemar Bartyna Pakiet System.Xml.Linq (2) 7

Waldemar Bartyna „DOM-owe API”  Utwórzmy dokument za pomocą API zgodnego z W3C DOM. 8

Waldemar Bartyna „DOM-owe API” c. d. 9

Waldemar Bartyna „DOM-owe API” c. d. (2) 10

Waldemar Bartyna „DOM-owe API” c. d. (3) 11

Waldemar Bartyna Wynikowy dokument XML 12

Waldemar Bartyna  Definiowanie tego samego dokumentu za pomocą LINQ to XML. Nowe API (LINQ to XML) 13

Waldemar Bartyna Cechy nowego AIPI  LINQ to XML, od strony porównania z DOM-owym API, różni się od niego w następujących aspektach: Konstrukcja drzewa XML, Najważniejszy jest element, nie dokument, Definiowanie przestrzeni nazw i prefiksów, Wydobywanie wartości węzłów. 14

Waldemar Bartyna Funkcyjne konstruowania drzewa XML  W LINQ to XML do konstrukcji drzewa XML stosuje się nową technikę nazwaną konstrukcją funkcyjną.  Pozwala ona na definiowanie schematu podczas konstruowania obiektów XML i inicjalizacji wartości. 15

Waldemar Bartyna Dokumenty nie są obowiązkowe  W DOM API wymagane jest, aby każdy nowo utworzony element należał do obiektu dokumentu.  W LINQ to XML nie ma takiego obowiązku. Możliwe jest tworzenie i przetwarzanie samych elementów (XElement).  Oczywiście w razie potrzeby możemy również utworzyć dokument. 16

Waldemar Bartyna Nazwy, przestrzenie nazw i prefiksy  Aby dodać przestrzeń nazw do nazwy elementu wystarczy utworzyć obiekt klasy XNamespace i powiązać go z wybraną nazwą.  Można go również podać bezpośrednio w konstruktorze elementu. 17

Waldemar Bartyna Nazwy, przestrzenie nazw i prefiksy (2)  Dodajmy przestrzeń nazw do naszego przykładu. 18

Waldemar Bartyna Nazwy, przestrzenie nazw i prefiksy (3)  Zdefiniowana przestrzeń nazw jest dołączana jako domyślna przestrzeń nazw (bez definicji prefiksu). 19

Waldemar Bartyna Nazwy, przestrzenie nazw i prefiksy (4)  Jeżeli chcemy zdefiniować prefiks, dodajemy go jako atrybut elementu. 20

Waldemar Bartyna Wydobywanie wartości węzła  Aby wydobyć wartość węzła wystarczy go rzutować na odpowiedni typ.  Jawne rzutowanie z węzła zostało zdefiniowane dla następujących typów: string, int, int?, uint, uint?, long, long?, ulong, ulong?, bool, bool?, float, float?, double, double?, decimal, decimal?, TimeSpan, TimeSpan?, DateTime, DateTime?, GUID, i GUID?. 21

Waldemar Bartyna Wydobywanie wartości węzła, przykład 22

Waldemar Bartyna Model obiektów LINQ to XML 23

Waldemar Bartyna Tworzenie dokumentu z zapytania LINQ 24

Waldemar Bartyna Parsowanie, zapisywanie i wczytywanie XMLa 25

Waldemar Bartyna Nawigowanie po dokumencie 26

Waldemar Bartyna Modyfikowanie dokumentu 27

Waldemar Bartyna Modyfikowanie dokumentu, przykład 2 28

Waldemar Bartyna Obsługa zdarzeń obiektów XML 29

Waldemar Bartyna Wykorzystanie LINQ 30

Waldemar Bartyna Dziękuję za uwagę 31