c#

位置:IT落伍者 >> c# >> 浏览文章

C#高级编程:写入XML输出结果


发布日期:2019年12月30日
 
C#高级编程:写入XML输出结果
——此文章摘自《C#高级编程(第版)》定价元 特价元 购买

如上所述DataSet支持在XML中定义其模式可以从XML文档中读取数据也可以把数据写入XML文档

DataSetWriteXml方法可以输出存储在DataSet中的各种数据可以选择只输出数据也可以输出数据和模式下面是为上述Region示例编写的代码

dsWriteXml(\\WithoutSchemaxml);

dsWriteXml(\\WithSchemaxml XmlWriteModeWriteSchema);

第一个文件WithoutSchemaxml如下所示

<?xml version= standalone=yes?>

<NewDataSet>

<Region>

<RegionID></RegionID>

<RegionDescription>Eastern </RegionDescription>

</Region>

<Region>

<RegionID></RegionID>

<RegionDescription>Western </RegionDescription>

</Region>

<Region>

<RegionID></RegionID>

<RegionDescription>Northern </RegionDescription>

</Region>

<Region>

<RegionID></RegionID>

<RegionDescription>Southern </RegionDescription>

</Region>

</NewDataSet>

RegionDescription上的闭合标记在页面的右边因为数据库列定义为NCHAR()这是一个包含个字符的字符串其中用空格填充

WithSchemaxml文件生成的结果包含DataSet的XML模式和数据

<?xml version= standalone=yes?>

<NewDataSet>

<xs:schema id=NewDataSet xmlns=

xmlns:xs=http://wwwworg//XMLSchema

xmlns:msdata=urn:schemasmicrosoftcom:xmlmsdata>

<xs:element FTEL=NewDataSet msdata:IsDataSet=true>

<xs:complexType>

<xs:choice maxOccurs=unbounded>

<xs:element FTEL=Region>

<xs:complexType>

<xs:sequence>

<xs:element FTEL=RegionID

msdata:AutoIncrement=true

msdata:AutoIncrementSeed=

type=xs:int />

<xs:element FTEL=RegionDescription

type=xs:string />

</xs:sequence>

</xs:complexType>

</xs:element>

</xs:choice>

</xs:complexType>

</xs:element>

</xs:schema>

<Region>

<RegionID></RegionID>

<RegionDescription>Eastern </RegionDescription>

</Region>

<Region>

<RegionID></RegionID>

<RegionDescription>Western </RegionDescription>

</Region>

<Region>

<RegionID></RegionID>

<RegionDescription>Northern </RegionDescription>

</Region>

<Region>

<RegionID></RegionID>

<RegionDescription>Southern </RegionDescription>

</Region>

</NewDataSet>

注意使用msdata模式中的文件定义DataSet中列的附加属性例如AutoIncrement 和 AutoIncrementSeed这些属性直接对应于DataColumn上的可定义属性

上一篇:语言专有的类库应该放到.NET里吗?

下一篇:.Net基础Lambda表达式的一般应用教程