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;