<NewDataSet>
<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:UseCurrentLocale="true">
<xs:complexType>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element name="Table">
<xs:complexType>
<xs:attribute name="DataColumn" type="xs:string" />
<xs:attribute name="ddlSchema" type="xs:string" />
<xs:attribute name="ddlTable" type="xs:string" />
<xs:attribute name="ddlColumn" type="xs:string" />
<xs:attribute name="DefaultValue" type="xs:string" />
</xs:complexType>
</xs:element>
</xs:choice>
</xs:complexType>
</xs:element>
</xs:schema>
<Table DataColumn="ID" ddlSchema="" ddlTable="" ddlColumn="" DefaultValue="" />
<Table DataColumn="CategoryName" ddlSchema="" ddlTable="" ddlColumn="" DefaultValue="" />
<Table DataColumn="ParentCatID" ddlSchema="" ddlTable="" ddlColumn="" DefaultValue="" />
<Table />
</NewDataSet>
是我的Xml,保存在数据库列中 那么它将如何转换为数据集,以便我可以绑定网格? 任何建议
答案 0 :(得分:6)
为此目的使用DataSet.ReadXml方法。
DataSet ds;
StringReader reader = new StringReader(string);
ds.ReadXml(reader);
dataGridView1.DataSource = ds.Tables["TableName"];
答案 1 :(得分:3)
我建议你使用linq,那么你可以做这样的事情
更新:适应您的xml,更新2:修复命名空间以匹配您的xml
var xmlSource = XElement.Parse(xmlString);
XNamespace xs = "http://www.w3.org/2001/XMLSchema";
var xQuery = (from c in xmlSource.Descendants(xs + "NewDataSet")
select c);
gridview1.DataSource = xQuery;
gridview1.DataBind();
答案 2 :(得分:0)
通过使用以下CodePart,您可以将XML文件数据转换为DataSet
DataSet dsStore = new DataSet();
dsStore.ReadXml(<Path> + "\\DataBaseValues.xml");
return dsStore.Tables["MyData"];