2013-08-13 3 views
0

Dans mes services web que je vous envoie un document XML en utilisant ce code,XMLDocument au fichier xml

 XmlDocument doc = new XmlDocument(); 
     doc.LoadXml(myBigData.Serialize()); 
     return result = doc.DocumentElement; 

Maintenant, dans mon C# console app je vous appelle cette méthode Web en utilisant,

 XmlElement returnedDataFromWebMethod = myWbSercvices.WebMethod(); 

maintenant comment puis-je convertir cet élément XML en un fichier XML par exemple dans mon lecteur C afin que je puisse voir si le document XML en tant que document, au lieu de le parcourir en utilisant foreach(XMLNode)

Répondre

1

Vous pouvez essayer ceci:

var doc = new XmlDocument(); 
var node = doc.ImportNode(returnedDataFromWebMethod, true); 
doc.AppendChild(node); 
doc.Save("output.xml"); 
1

Vous pouvez utiliser la méthode XmlWriter et WriteTo. http://msdn.microsoft.com/en-us/library/system.xml.xmlelement.writeto.aspx

Exemple:

XmlWriterSettings xmlSetings = new XmlWriterSettings(); 
xmlSetings.Indent = true; 
xmlSetings.Encoding = Encoding.ASCII; 

XmlWriter writer = XmlWriter.Create(@"C:\someFile.xml", xmlSetings); 
returnedDataFromWebMethod.WriteTo(writer); 
+0

grâce mais, de me donner fichier vide, mais lorsque je tente OuterXml il ne retourne quelques nœuds – Mathematics

+0

Je ne sais pas Si cela peut être la source d'un problème de fichier vide, parce que je n'ai pas VS avec moi en ce moment, mais peut-être que vous n'avez pas fermé l'écrivain: writer.WriteEndDocument(); writer.Flush(); writer.Fermer(); – Rebelek

2

créer un nouveau XmlDocument:

XmlDocument doc = new XmlDocument(); 

appeler votre méthode Web et enregistrez-le dans un XmlNode

XmlNode returnedDataFromWebMethod = myWbSercvices.WebMethod(); 

votre élément append

doc.AppendChild(returnedDataFromWebMethod); 

enregistrer le document

doc.Save("result.xml"); 
Questions connexes