DataSet mit eigenen Schema-String im Code neu erzeugen
Frank Dzaebel, erstellt am: 22.10.2005, zuletzt geändert: 22.10.2005, Sprache: C# 
Kategorie: DataSet, .NET-Version:1.1

Mit dem StringReader und der DataSet.ReadXml() Methode kann man sehr einfach auch ein komplettes DataSet nur durch Strings erzeugen. Hier ein Code-Beispiel:

      DataSet myDS = new DataSet();
      string xmlData = "<XmlDS><table1><col2>Value1</col2></table1><table1><col2>Value2</col2></table1></XmlDS>";
      string xsdData = @"<?xml version=""1.0"" standalone=""yes""?>
  <xs:schema id=""NewDataSet"" xmlns="""" 
  xmlns:xs=""http://www.w3.org/2001/XMLSchema"" 
  xmlns:msdata=""urn:schemas-microsoft-com:xml-msdata""> 
    
<xs:element name="
"NewDataSet"" msdata:IsDataSet=""true"" msdata:Locale=""de-DE""> <xs:complexType> <xs:choice maxOccurs=""unbounded""> <xs:element name=""table1""> <xs:complexType> <xs:sequence> <xs:element name=""col1"" type=""xs:string"" minOccurs=""0"" /> </xs:sequence> </xs:complexType> </xs:element> </xs:choice> </xs:complexType> </xs:element> </xs:schema>"; StringReader xsdSR = new StringReader(xsdData); StringReader xmlSR = new StringReader(xmlData); try { myDS.ReadXml(xsdSR, XmlReadMode.ReadSchema); myDS.ReadXml(xmlSR); } catch (Exception exp) { MessageBox.Show(exp.Message); } dataGrid1.DataSource = myDS;