2009-06-08 13 views
35

データセットからGetXmlを使用しないでを使用せずに文字列を取得しようとしています。代わりにWriteXmlを使用しています。どのように文字列を取得するためにそれを使用するには? ありがとうDataSet.WriteXml to string

答えて

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

System.OutOfMemoryExceptionに(それはGetXMLメソッド()で行いますように)、これは本当に大規模なデータセットを上失敗しました。 OutOfMemoryException 'がスローされました。 'Dim sw As IO.StringWriter =新しいIO.StringWriter()' 'dataset_name.WriteXml(sw) でSystem.String.GetStringForStringBuilder(文字列値、Int32 startIndex、Int32長さ、Int32容量) – Rodney

+0

VB.Netバージョン: ' 'Dim結果As String = sw.ToString()' – Jeff

7

StringWriterに書き込み、次にToStringを呼び出してください。

生成されたXML宣言でUTF-16ではなくUTF-8を指定する場合は、my 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