从包含1个表和0行的XML创建DataSet
本文关键字:XML 创建 DataSet 0行 包含 1个 | 更新日期: 2023-09-27 18:10:45
我目前正在使用
从XML流创建DataSet
DataSet dataSet = new DataSet();
dataSet.ReadXml(xml);
我试过了,
<?xml version="1.0" standalone="yes"?>
<NewDataSet>
<Table>
</Table>
</NewDataSet>
创建一个DataSet
,其中Tables[0]
是一个名为"NewDataSet"的表,其中1列名为"table",1行"table"的值为"。然后我尝试了这个,
<?xml version="1.0" standalone="yes"?>
<NewDataSet>
</NewDataSet>
但是这会创建一个没有表的DataSet。我如何创建一个数据集与1表称为"表"与1列,但现在行?
你不能。ReadXml和WriteXml只读/写数据,而不是整个数据集/数据表/列等的结构-schema
我的建议是首先使用ReadXmlSchema函数从一个单独的模式文件中读取模式,然后再读取数据文件。
你的模式可以像这样:
<?xml version="1.0" standalone="yes"?>
<xs:schema id="MyDataSet" xmlns="" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xs:element name="MyDataSet" msdata:IsDataSet="true" msdata:UseCurrentLocale="true">
<xs:complexType>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element name="MyDataTable">
<xs:complexType>
<xs:sequence>
<xs:element name="MyDataColumn" type="xs:string" minOccurs="0" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:choice>
</xs:complexType>
</xs:element>
</xs:schema>