2009-10-02 10 views
0

J'ai une application C# qui appelle une procédure stockée qui produit un résultat XML (en utilisant FOR XML Explicit) que je veux enregistrer sur le disque. Faire quelques recherches, j'ai trouvé la méthode suivante:Enregistrement du résultat xml du serveur sql sur le disque

var data = new DataSet(); 
XmlReader reader = cmd.ExecuteXmlReader(); 
data.ReadXmlSchema(reader); 
data.ReadXml(reader, XmlReadMode.Fragment); 
data.WriteXml(filename); 

Cependant ce produit les éléments suivants dans le fichier:

<?xml version="1.0" standalone="yes" ?> 
    <NewDataSet /> 

Je pense que cette méthode pourrait ne fonctionne que pour cependant XML Raw et XML Auto je peux regarder à travers les tableaux de l'ensemble de données et voir les données sont là.

MISE À JOUR: J'ai réussi à le faire fonctionner en ne lisant pas le XmlSchema et en ne spécifiant pas le XmlReadMode.

+1

Qu'essayez-vous de faire et pourquoi essayez-vous de le faire avec DataSet? Si vous voulez juste travailler avec le XML, vous devez utiliser les classes XmlDocument ou XDocument. Les DataSets ne jouent pas bien avec certaines données XML. –

Répondre

0

J'ai réussi à le faire fonctionner en ne lisant pas le XmlSchema et en ne spécifiant pas le XmlReadMode.

Questions connexes