.net
Document Sample


C#
&
XML
Plan
1.
2.
3. 4. 5. 6.
7.
Introduction Présentation Microsoft.net Présentation Csharp Présentation XML Role du XML dans C# .NET & XML Conclusion
Introduction
L’un des point fort de la plate forme microsoft.net
est la prise en charge presque total du XML, ce dernier qui est un standard largement utiliser dans différente protocole et aussi devient l’outil le plus utilisé dans les communication entre les application distante tel que les web services. Il semble un outil simple utilisé même par les non informaticien
Microsoft .Net
.Net=bibliothèque + environnement
une nouvelle stratégie de Microsoft
Fournit l’ensemble des outils et technologie nécessaires
a la création d’application Web distribuées
Microsoft .Net
environnement de développement RAD (Rapid
Application Development) et multi-langage
Totalement prend en charge les technologie internet
basées sur les normes et indépendantes des platesformes Tel que HTTP – XML - SOAP
Microsoft .Net
La plate-forme Microsoft .NET repose
principalement sur :
Framework .NET Visual Studio .NET L’environnement
de développement (Application & site web) .NET Server : La future version « Server » de Microsoft
.NET My Services: (.NET Calendar, .NET Inbox,…)
Microsoft .Net
Changement par rapport à l’Ancien architecture
Microsoft Les API Win32 et les MFC sont remplacées par un ensemble plus cohérent de classes de base du Framework .NET La technologie ASP basée sur des scripts interprétés Remplace par les pages ASP.NET dont le code est compilé dès la première invocation un nouveau langage C# dédié
Microsoft .Net
C#
VB
C++
J#
…
ASP .NET
Windows Forms
ADO .NET et XML Base Class Library Common Language Runtime
VS .NET
Common Language Specification
Framework
Framework .NET est composée de plusieurs couches :
C# VB C++ J# …
Common Language Specification ASP .NET Windows Forms
ADO .NET et XML
Base Class Library
Common Language Runtime
Framework
La Machine Virtuelle .Net Common Langage Runtime :
• se place juste au dessus du système d’exploitation
• Fournit un environnement d’exécution Robuste et sécurise •Prend en charge plusieurs langages de programmation •Les services « Garbage collector » et la « sécurité » sont automatiquement fournis
Framework
Tous les langages .Net compilent en MSIL
(MicroSoft Intermediate Language) - Environ 51 langages : VB.net, C#, Python,smaltalk,…
A l’exécution le code est compilé par JIT (Just In
Time Compiler) et traduit en exécutable.
Framework
BCL bibliothèque des classes de base
Ensembles des classes groupé dans Namespaces nombreuses librairies : I/O, String, Sécurité,
Network, thread ,GUI,….
Namespaces System
Contient des calsse de base qui définit les types des données (valeur ,référence) , les événement , les interfaces, les exceptions …
Framework
Exemples de namespaces
System.windows.forms : permet créer des interfaces
utilisateurs pour les application Windows System.IO: les entres/sorties System.Net: Socket , TCP/IP System.Data : gestion des base de données System.XML : fournit la prise en charge XML
Framework
Tous langages conforme a la norme CLS (Common
Langage Specification) peut fonctionner dans CLR
Tous les langages doivent se conformer au CTS (Common
Type System) (objet,classe,interface,..) CTS + CLS : Assure la compatibilité du langage CLS spécifié une série des règles de base qui est nécessaire pour l’intégration d’un langage. CLS est une :
spécification d'écriture des compilateurs chaque langage utilise et étend le Framework .Net
CSharp
Un langage moderne conçus pour la plate forme .Net Complètement Oriente Objet
Proche de java
Utilisé dans les pages ASP.NET (script Cote
Serveur) Utilise les classes du framework .NET
Types
Un programme C# est une collection de type
Classes,interfaces,structures,délégués,énumérations
C# fournis un ensemble de types prédéfinis Ex: int, byte, char,string, object,…
Les types sont Des données membres (Champs, constantes, tableaux,…) Des fonctions membres (Méthodes, opérateurs, constructeurs, propriétés,…) D’autres types Il y a 2 catégories de types: valeur et référence
Valeur: Contient des donnees Ex : int i=123; Référence : Contient des références vers des objets
Types
Boxing: Converti un type primitif(valeur) en
object(référence) UnBoxing: Opération inverse du boxing Exemple:
int i = 123; object o = i; int j = (int)o; i o 123 j 123 123 System.Int32
Classes et Structures
struct SPoint { int x, y; ... } class CPoint { int x, y; ... } SPoint sp = new SPoint(10, 20); CPoint cp = new CPoint(10, 20);
sp 10 20 cp 10 20 CPoint
Les attributs
Namespaces : System.Attribute Un moyen d’insérer des annotations( méta-données) Un moyen de fournir des informations au CLR dans le
but d’exécuter des tâches additionnelles
Exemple:
[WebMethod]: pour qu’une méthode soit utilisable via webservices
Exemple d’un programme C#
XML
Un dérivé du SGML (Standard Generalized Markup
Language) servir des principes de simplicité du HTML et de la souplesse SGML mise en forme des données est totalement séparée des données elles-mêmes Un langage base sur les balise Designer pour la Structuration des données Représente les données hiérarchiquement (Arbre )
Composant d’un Document XML
L'arbre d'éléments : * Composant de base XML * Identifié par un nom * Délimité par une balise ouvrante et une balise fermante
<NomBalise> Valeur </NomBalise>
2 types d’élements: 1- Élément racine : (sous forme d’arbre) 2- Les Élément (père/fils/ Frère)
Composant d’un Document XML
Les Attributs :
les éléments peuvent contenir un ou plusieurs attributs Un attribut est composé d'un nom et d'une valeur Inclus dans la balise ouvrante d’un élément
<AUTEUR NE="1802" MORT="1885" > Victor Hugo </AUTEUR>
Attribut
son Valeur
D-B-F (Document Bien forme )
Règles des documents XML bien forme
- structuration hierarchique - Un seul Elément Racine - Balisage sensible à la casse - La valeur des attributs doit être en “ ” ou „‟ - Les élèments ne doivent pas se chevaucher
<Balise A> <BaliseB> </BaliseA> </BaliseB> interdit
Les document type définition D.T.D
Fournir la description d’une classe de document XML Définir la DTD (Grammaire Associée a cette classe )
pour : Valider un document XML
Document valide bien formé + conforme à la DTD
Insuffisance des DTD
-Pas de types de données -Pas en XML
(détaillé)
Solution : Les Schémas
Décrire la structure XML bien détaillé
Types évoluées (Octet,string,entier,date,…) Spécifié en format XML
Analysable par un parseur XML Standard Domaine Spécifique XSD:
<xsd:complexType name="Adresse"> <xsd:sequence> <xsd:element name=”Num" type="xsd:Short"/> <xsd:element name=”rue" type="xsd:string"/> <xsd:element name=”ville" type="xsd:string"/> <xsd:element name=”codepostal" type="xsd:decimal"/> </xsd:sequence>
Parseur XML
Analyser la syntaxe du document XML pour
determiner que le document est bien formé Valider le document par rapport a la DTD/Schema correspendante On distingue deux categorie : 1- SAX: Simple Api For XML:
ensemble des fonctions permettant la manipulation du document XML Parcours séquentielle du document
orienté événement [StartDocument,startelement,endelement,…]
LIMITE Du SAX: modification de structure impossible
Parseur XML
2 - DOM : Document object Model Construit une représentation du document en mémoire sous forme d’arbre
Fournie une interface de programmation pour la manipulation du documents XML Contient un ensemble d’objet et d’interface qui représente le contenue et la structure Permet de lire/écrire sur l’arbre XML Permet la création des nouveau document Xml Inconvénient : consommation des ressource (mémoire)
C# & XML
Rôle Du XML Dans C#
1- Commentaire XML permettre de générer des documentation pour les application créer en c# Commentaire de documentation commence par /// /// <summary>….</summary> /// <Remarks> …. </Remarks> Générer le fichier de documentation
csc monprogramme.cs/doc:monfichier.xml
Rôle Du XML Dans C#
2- Sérialisation des objets Consiste a Conserver l’état d’un objet dans un fichier xml Desérialisation : l’opération inverse nom d’’espaces pour utiliser la sérialisation System.Xml.Serialization
Exemple de Sérialisation
Using System.Xml.Serialization;
namespace serialisation { Spécifie l’element [XmlRoot(ElementName="Employe")] racine public class Employe { // Attributs privés : private string m_id; private int m_age; // Propriétés d'un employé: [XmlAttribute(AttributeName="ID de l'employé")] public string EmpID { get{return m_id;} set{m_id=value;} } Spécifie un [XmlElement(ElementName="Nom")] attribut de l’element racine …………. XmlSerializer X = new XmlSerializer(typeof(Employe));
.NET & XML
Les nom d’éspaces XML dans .NET
System.Xml
.XPath
.Xsl .Schema .Serialization
System.XML
Fournie l’ensemble des classes qui le support XML Des Classes pour créer , modifier , naviguer des
documents XML Lire, Ecrire et manipulation des documents XML via DOM XmlDocument : classe pour documents XML ex: XmlDocument doc = new XmlDocument(); XmlDataDocument : classe pour les données relationnelle « dataset » Des classes pour les composant XML XmlElement, XmlAttribute, XmlComment, etc
XMLDocument
Propriétés
ChildNodes: Renvois Tous les fils du noeud courant DocumentType: Gets the DOCTYPE declaration node DocumentElement: Renvois l’element Racine du XmlElement XmlResolver: valider Le document DTD & schema Value: Renvois la valeur du noeud courant
Méthodes
CreateComment: Creer une commentaire CreateElement: creer un element Load: Charger un fichier XML Save: Enregistrer Les Modification
Autre Classes System.Xml
lecture XML XmlReader XmlValidatingReader XmlNodeReader XmlTextReader Écriture XML XmlTextWriter XmlWriter
System.XML.XPATH
XPath est un langage d'interrogation du documents XML . exprimer le parcours ou la navigation dans les arbres XML.
Syntaxe non xml Permet de spécifier des critères de recherche
Effectuer des opération arithmétique et manipulation des
chaine de caractère Utiliser pour les besoin de xsl , schema,… Exempe : xpath=".//autheur " / : selection de tous les descendant
du nœud auteur
Le langage Xpath est bien utilisé avec Le langage XSL pour
les Raison de Transformation
System.XML.XPATH
La Portée dans .Net
Namespaces : System.XML.XPATH Classe : XPathDocument: Fournit une représentation en
mémoire, en lecture seule et rapide d'un document XML XPathNavigator: Fournit un modèle de curseur pour la navigation dans les données XML et leur modification. Exemple Avec C#:
XpathDocument doc = new XpathDocument objet Xpathdocument
---- instanciation d’un
System.XML.XSL
XSLT est un langage de transformation du document XML
en XML , HTML , XHTML a partir d’un document XML et une feuille de style XSL Deux Normes XSL: XSLT ------------------- XML,HTML
Formatting XSL-FO ---------------- PDF Objects
Transformation
XSL Ou texte Ou HTML XML
XML
Processeur XSLT
System.XML.XSL
La Portée dans .Net
XSLTransform: Transforme les données XML à l'aide d'une
feuille de style XSLT Méthode la plus utilisé : public void Transform ( string inputfile, string outputfile ) ; public XmlReader Transform( XPathNavigator input, XsltArgumentList args ) ; D’autre classe dans System.XML.XSL
System.XML.Schema
Plusieurs classes pour Les Schémas XML :
1 – XmlSchema: Représentation en mémoire d'un schéma XML . XmlSchema schema = new XmlSchema(); Methodes: Compile: valider un schema; Read: lit un schema xml Write: Écrit un Schéma XML
System.XML.Schema
2- XmlSchemaElement : représente un élément d’une schéma XML
XmlSchemaElement elemt = new XmlSchemaElement();
Propriété: Name : Nom d’élément SchemaType: Type d’élément
Conclusion
Il existe de nombreuse nom d’espaces et des classes dans microsoft.net qui traite la paradigme Xml et ses dérivant tel que XLINK , XPOINTER, XQUERY,… et avec la puissance et la simplicité de Csharp le développement sous microsoft.net devient plus intéressant Chez les développeur malgré l’inconvénient majeur du Microsoft qui développe que pour ses systèmes d’exploitation
Bibliographie
Microsoft MSDN
www.msdn.microsoft.com .Net FrameWork essentials Programmation en c# C# .net web developer’s guide
O’REILLY labo.net
Related docs
Get documents about "