Is DataSet supports complex type when GetXml method?

Numbers

New Member
I have the schema below:\[code\]<?xml version="1.0" encoding="utf-8" ?><xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified"> <xs:element name="WSParam"> <xs:complexType> <xs:sequence> <xs:element name="domain" type="xs:string"/> <xs:element name="userName" type="xs:string"/> <xs:element name="Cases"> <xs:complexType> <xs:sequence> <xs:element name="caseName" type="xs:string"/> </xs:sequence> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:element></xs:schema>\[/code\]I expected the output of DataSet.GetXml() below:\[code\]<NewDataSet> <WSParam> <domain>ad</domain> <userName>admin</userName> <Cases> <caseName>case 1</caseName> </Cases> </WSParam></NewDataSet>\[/code\]But the output is:\[code\]<NewDataSet> <WSParam> <domain>ad</domain> <userName>admin</userName> </WSParam> <Cases> <caseName>case 1</caseName> </Cases></NewDataSet>\[/code\]Anyone confirm me the correct behavior of DataSet.GetXml() with complex type or I miss something.Any guidance is highly appreciated.UPDATES1:I am using DataSet.ReadXmlSchema("...xsd"). From that, I use DataSet.Tables[..] to create DataTable to put the data. Then call DataSet.GetXml() to get the string XML representation.UPDATES2:Code:\[code\]private void button2_Click(object sender, EventArgs e){ String sXSD = @"C:\WindowsFormsApplication1\WindowsFormsApplication1\XMLFile1.xsd"; DataSet dsXSD = new DataSet(); dsXSD.ReadXmlSchema(sXSD); int k = 0; do { DataRow d; d = dsXSD.Tables["tblUser"].NewRow(); int i = 0; do { d = k; i = (i + 1); } while (i < dsXSD.Tables["tblUser"].Columns.Count); dsXSD.Tables["tblUser"].Rows.Add(d); d = dsXSD.Tables["tblUserRole"].NewRow(); i = 0; do { d = k; i = (i + 1); } while (i < dsXSD.Tables["tblUserRole"].Columns.Count); dsXSD.Tables["tblUserRole"].Rows.Add(d); k = (k + 1); } while (k < 3); dsXSD.WriteXml("c:\\test.xml");}\[/code\]XSD:\[code\]<?xml version="1.0" encoding="utf-16" ?><xsd:schema attributeFormDefault="unqualified" elementFormDefault="qualified" version="1.0" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="http://stackoverflow.com/questions/11130594/urn:schemas-microsoft-com:xml-msdata"> <xsd:element name="tblUser"> <xsd:complexType> <xsd:sequence> <xsd:element name="UserID" type="xsd:int" /> <xsd:element name="FullName" type="xsd:string" nillable="true" /> <xsd:element name="tblUserRole"> <xsd:complexType> <xsd:sequence> <xsd:element name="UserID" type="xsd:int" /> <xsd:element name="RoleID" type="xsd:int" /> </xsd:sequence> </xsd:complexType> </xsd:element> </xsd:sequence> </xsd:complexType> </xsd:element></xsd:schema>\[/code\]OUTPUT:\[code\]<?xml version="1.0" standalone="yes"?><NewDataSet> <tblUser> <UserID>0</UserID> <FullName>0</FullName> <tblUserRole> <UserID>0</UserID> <RoleID>0</RoleID> </tblUserRole> </tblUser> <tblUser> <UserID>1</UserID> <FullName>1</FullName> <tblUserRole> <UserID>1</UserID> <RoleID>1</RoleID> </tblUserRole> </tblUser> <tblUser> <UserID>2</UserID> <FullName>2</FullName> <tblUserRole> <UserID>2</UserID> <RoleID>2</RoleID> </tblUserRole> </tblUser></NewDataSet>\[/code\]
 
Back
Top