Convertire xml in string usando C #

Ho una funzione come sotto

public string GetXMLAsString(XmlDocument myxml) { XmlDocument doc = new XmlDocument(); doc.LoadXml(myxml); StringWriter sw = new StringWriter(); XmlTextWriter tx = new XmlTextWriter(sw); doc.WriteTo(tx); string str = sw.ToString();// return str; } 

sto passando un xml a questo metodo da un altro metodo. Ma nel doc.loadxml() , il sistema si aspetta una stringa e dal momento che im passando un xml, genera error.Pls help. Grazie in anticipo..

Come suggerisce Chris , puoi farlo in questo modo:

 public string GetXMLAsString(XmlDocument myxml) { return myxml.OuterXml; } 

O in questo modo:

 public string GetXMLAsString(XmlDocument myxml) { StringWriter sw = new StringWriter(); XmlTextWriter tx = new XmlTextWriter(sw); myxml.WriteTo(tx); string str = sw.ToString();// return str; } 

e se vuoi davvero creare un nuovo XmlDocument fallo

 XmlDocument newxmlDoc= myxml 

C’è un modo molto più semplice per convertire XmlDocument in una stringa; usa la proprietà OuterXml . La proprietà OuterXml restituisce una versione stringa di xml.

 public string GetXMLAsString(XmlDocument myxml) { return myxml.OuterXml; } 
  public string GetXMLAsString(XmlDocument myxml) { using (var stringWriter = new StringWriter()) { using (var xmlTextWriter = XmlWriter.Create(stringWriter)) { myxml.WriteTo(xmlTextWriter); return stringWriter.ToString(); } } }