cs_mathmax
Messages postés403Date d'inscriptionvendredi 28 octobre 2005StatutMembreDernière intervention31 août 2008
-
17 août 2007 à 18:20
cs_mathmax
Messages postés403Date d'inscriptionvendredi 28 octobre 2005StatutMembreDernière intervention31 août 2008
-
18 août 2007 à 21:20
Bonjour,
J'utilise de plus en plus les XDocument à la place des XmlDocument.
Le problème est qu'il y a certaines manipulations possibles avec un XmlDocument qui ne le sont plus avec un XDocument (ou bien je ne sais pas comment faire). Par exemple, je ne vois pas de propriété innerXml pour un XElement. Je ne vois pas non plus comment obtenir un élément XText qui serait le contenu text d'un XElement. La seule technique j'ai trouvé pour le moment est charger un XmlDocument à partir de mon instance de Xdocument quand j'ai besoin des fonctionnalités de XmlDocument puis de repasser à un XDocument quand j'ai fini ces manipulations. Mais ça m'embête pas mal de devoir passer d'un XDocument à un XmlDocument et
inversement juste parce que certaines fonctionnalités sont disponibles
dans l'un mais pas dans l'autre... Et la performance en prend un coup !
L'idéal serait des méthodes d'extensions pour les XElement qui permettent de faire tous ce qu'on peux faire avec les XmlElement. Quelqu'un en connais ?
euu si il me semble que tout ce que l'on peut faire avec un xmldocument on peut le faire avec un XDocument
et même peut etre plus facilement
on peut aussi filtrer et trier de maniere complexe facilement et faire des "mélanges" (avec requetes Linq)
et la bibliotheque System.Linq.Xml me semble quand même mieux fichue
maintenant c'est vrai aussi que je ne vois pas forcement une raison qui fait qu'il faut absolument utiliser le XDocument plutot que le xmldocument
cs_mathmax
Messages postés403Date d'inscriptionvendredi 28 octobre 2005StatutMembreDernière intervention31 août 2008 18 août 2007 à 19:26
myXDocument.ToString() équivaut à la propriété OuterXml d'un XmlDocument. J'ai besoin d'acceder en lecture et écriture à l'équivalent de InnerXml.
Autre exemple de chôses qu'on l'on ne peut à ma connaissance pas faire un XDocument :
Les méthodes d'extensions : XPathSelectElement et XPathSelectElements du namespace System.Xml.XPath ne permette d'obtenir que des XElements alors que les méthode SelectSingleNode et SelectNodes permettent d'obtenir n'importe quel élément xml à partir d'une expression xpath. Par conséquent; un telle ligne plante à l'exécution :
XNode node = myXElement.SelectSingleNode("./text()");