2009-06-08 1 views
35

Я получаю строку с DataSet без с использованием GetXml. Вместо этого я использую WriteXml. Как использовать его для получения строки? СпасибоDataSet.WriteXml в строку

ответ

57
StringWriter sw = new StringWriter(); 
dataSet.WriteXml(sw); 
string result = sw.ToString(); 
+2

Из интереса, это не будет работать на очень больших наборов данных (как это делает на GetXML()) System.OutOfMemoryException: Исключение типа «System. OutOfMemoryException ". в System.String.GetStringForStringBuilder (значение String, Int32 STARTINDEX, длина Int32, Int32 мощности) – Rodney

+0

VB.Net Версия: 'Dim ЮЗ Как IO.StringWriter = Новый IO.StringWriter()' ' dataset_name.WriteXml (ЕО) ' ' Dim result As String = sw.ToString() ' – Jeff

7

Напишите StringWriter, а затем позвоните по телефону ToString.

Обратите внимание, что если вы хотите, чтобы сгенерированное объявление XML указывало UTF-8 вместо UTF-16, вам понадобится что-то вроде моего Utf8StringWriter.

1

здесь код vb.net:

Private Function GenerateXML(ByVal ds As DataSet) As String 
    Dim obj As New StringWriter() 
    Dim xmlstring As String 
    ds.WriteXml(obj) 
    xmlstring = obj.ToString() 
    Return xmlstring 
End Function