2013-08-13 3 views
0

В моих веб-сервисов я отправляющего XML-документ, используя этот код,XMLDocument в XML-файл

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

Теперь в моей C# консольного приложения Я называю этот веб-метод с использованием,

 XmlElement returnedDataFromWebMethod = myWbSercvices.WebMethod(); 

сейчас как я могу преобразовать этот XML-элемент в XML-файл, например в моем диске C, поэтому я могу увидеть, если документ xml в качестве документа, а не через него, используя foreach(XMLNode)

ответ

1

Вы можете попробовать это:

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

Вы можете использовать XmlWriter и WriteTo. http://msdn.microsoft.com/en-us/library/system.xml.xmlelement.writeto.aspx

Пример:

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

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

спасибо, но это, s давая мне пустой файл, но когда я пытаюсь outerxml это вернуть несколько узлов – Mathematics

+0

я не знаю если это может быть источником проблемы с пустым файлом, потому что у меня сейчас нет VS со мной, но, возможно, вы не закрыли автора: writer.WriteEndDocument(); writer.Flush(); writer.Close(); – Rebelek

2

создать новый XmlDocument:

XmlDocument doc = new XmlDocument(); 

называют свой веб-метод и сохранить его в XmlNode

XmlNode returnedDataFromWebMethod = myWbSercvices.WebMethod(); 

добавить свой элемент

doc.AppendChild(returnedDataFromWebMethod); 

сохранить документ

doc.Save("result.xml");