cs_badrbadr
Messages postés475Date d'inscriptionjeudi 19 juin 2003StatutMembreDernière intervention 3 novembre 2008
-
21 déc. 2006 à 00:06
cs_badrbadr
Messages postés475Date d'inscriptionjeudi 19 juin 2003StatutMembreDernière intervention 3 novembre 2008
-
21 déc. 2006 à 19:53
Bonjour;
Dans la documentation de .Net, il est écrit qu'il est conseillé de créer des XmlReader avec la méthode statique Create au lieu d'utiliser un XmlTextReader :Although the Microsoft .NET Framework includes concrete implementations of the XmlReader class, such as the <?XML:NAMESPACE PREFIX MSHelp NS "http://msdn.microsoft.com/mshelp" /??><mshelp:link tabindex="0" keywords="T:System.Xml.XmlTextReader">XmlTextReader</mshelp:link>, <mshelp:link tabindex="0" keywords="T:System.Xml.XmlNodeReader">XmlNodeReader</mshelp:link>, and the <mshelp:link tabindex="0" keywords="T:System.Xml.XmlValidatingReader">XmlValidatingReader</mshelp:link> classes, in the .NET Framework version 2.0, we recommend that you create XmlReader instances using the Create method.
Et dans une autre page :
In the Microsoft .NET Framework version 2.0 release, the recommended practice is to create [ms-help://MS.NETFramework.v20.en/cpref19/html/T_System_Xml_XmlReader.htm XmlReader] instances using the [ms-help://MS.NETFramework.v20.en/cpref19/html/O_T_System_Xml_XmlReader_Create.htm System.Xml.XmlReader.Create] method. This allows you to take full advantage of the new features introduced in this releaseCreating XML Readers</mshelp:link>.
De quels nouveaux "features" ils parlent. Il me semble que le XmlTextReader simplifie davantage la lecture des fichiers xml.
Je ne comprends pas pkoi utiliser un XmlReader au lieu d'un XmlTextReader quand on travaille sur des fichiers textes?
Je débute un programme et j'attend votre avis pour décider le quel choisir, XmlReader ou XmlTextReader parce que la documentation n'est pas trop claire la-dessus.
dgouttegattat
Messages postés129Date d'inscriptionmardi 22 novembre 2005StatutMembreDernière intervention30 décembre 20073 21 déc. 2006 à 11:21
Salut,
La méthode XmlParser.Create ressemble à un design pattern de type Factory. En gros, au lieu de laisser le développeur instancier lui-même la classe dérivée (XmlTextReader, XmlValidatingReader, ...), cette méthode choisit la classe dérivée la plus appropriée en fonction des paramètres passés, crée une instance et la retourne.
L'idée à la base est donc de simplifier les choix du programmeur, et d'encourager l'abstraction autour des différents types de parsers XML (on ne manipule que des XmlReader).
cs_Bidou
Messages postés5487Date d'inscriptiondimanche 4 août 2002StatutMembreDernière intervention20 juin 201361 21 déc. 2006 à 08:50
Salut,
Après lecture de la doc je dois dire que je ne saurais pas répondre à ta question.
Le fait est que XmlReader est une class abstraite et que XmlTextReader dérive de cette classe, elle est donc logiquement "plus spécialisée".
Maintenant si la doc insiste sur le fait de se servir d'un XmlReader plutôt qu'un XmlTextReader c'est que y'a sûrement une raison (peut-être au niveau de la validation des schémas?) et je ne vois pas pourquoi tu ne le ferais pas
cs_badrbadr
Messages postés475Date d'inscriptionjeudi 19 juin 2003StatutMembreDernière intervention 3 novembre 20081 21 déc. 2006 à 19:53
Salut et merci pour vos réponses,
Après un coup de Reflector (j'ai pas le reflexe encore), j'ai pu confirmer les dires de dgouttegattat.
Il semble que XmlReader.Create selectionne la meilleure option en fonction du type de document Xml.
Pour le confirmer, j'ai essayer le code suivant :
XmlReader reader XmlReader.Create(path);<?xml:namespace prefix o ns = "urn:schemas-microsoft-com:office:office" /??>
Console.WriteLine(reader.ToString());
Output : System.Xml.XmlTextReaderImpl
C'est domage par contre de voir que même dans la documentation, il donne des sources avec XmlTextReader. C'est mélangeant pour le lecteur.
Allez, je vais pouvoir commencer ce projet....avec un XmlReader :)
[:D] @++