WriteXmlSchema(xsdFileName)和GetXmlSchema()输出的内容的差异

利用DataSet.ReadXml载入一个xml文件,再使用GetXmlSchema()方法输出内容如下:

 1 <? xml version="1.0" encoding="utf-16" ?>
 2 < xs:schema  id ="NewDataSet"  xmlns =""  xmlns:xs ="http://www.w3.org/2001/XMLSchema"  xmlns:msdata ="urn:schemas-microsoft-com:xml-msdata" >
 3    < xs:element  name ="NewDataSet"  msdata:IsDataSet ="true"  msdata:Locale ="en-US" >
 4      < xs:complexType >
 5        < xs:choice  minOccurs ="0"  maxOccurs ="unbounded" >
 6          < xs:element  name ="Table1" >
 7            < xs:complexType >
 8              < xs:sequence >
 9                < xs:element  name ="DISPLAY"  type ="xs:string"  minOccurs ="0"   />
10                < xs:element  name ="VALUE"  type ="xs:string"  minOccurs ="0"   />
11                < xs:element  name ="ISPLUGIN"  type ="xs:string"  minOccurs ="0"   />
12                < xs:element  name ="connstr"  type ="xs:string"  minOccurs ="0"   />
13              </ xs:sequence >
14            </ xs:complexType >
15          </ xs:element >
16        </ xs:choice >
17      </ xs:complexType >
18    </ xs:element >
19 </ xs:schema >
而使用DataSet.WriteXmlSchema(xsdFileName)输出的内容如下
 1 <? xml version="1.0" standalone="yes" ?>
 2 < xs:schema  id ="NewDataSet"  xmlns =""  xmlns:xs ="http://www.w3.org/2001/XMLSchema"  xmlns:msdata ="urn:schemas-microsoft-com:xml-msdata" >
 3    < xs:element  name ="NewDataSet"  msdata:IsDataSet ="true"  msdata:Locale ="en-US" >
 4      < xs:complexType >
 5        < xs:choice  minOccurs ="0"  maxOccurs ="unbounded" >
 6          < xs:element  name ="Table1" >
 7            < xs:complexType >
 8              < xs:sequence >
 9                < xs:element  name ="DISPLAY"  type ="xs:string"  minOccurs ="0"   />
10                < xs:element  name ="VALUE"  type ="xs:string"  minOccurs ="0"   />
11                < xs:element  name ="ISPLUGIN"  type ="xs:string"  minOccurs ="0"   />
12                < xs:element  name ="connstr"  type ="xs:string"  minOccurs ="0"   />
13              </ xs:sequence >
14            </ xs:complexType >
15          </ xs:element >
16        </ xs:choice >
17      </ xs:complexType >
18    </ xs:element >
19 </ xs:schema >

两段代码仅在第一行有差别
WriteXmlSchema(xsdFileName)和GetXmlSchema()输出的内容的差异_第1张图片
但是第一个文件,在vs ide中无法打开,报如下错误
WriteXmlSchema(xsdFileName)和GetXmlSchema()输出的内容的差异_第2张图片
同时若在程序中使用这个文件也会出错
DataSet ds=new DataSet();
ds.ReadXmlSchema(xsdFileName);

在这记一下,以免以后忘了

另外有个问题考考大家,稍后给出我的答案
已经一个xml文件的格式如下:
<D>
<T>
<C1>1</C1>
<C2>2</C2>
...
<Cn>n</Cn>
</T>
<T>
<C1>1</C1>
<C2>2</C2>
...
<Cn>n</Cn>
</T>
</D>
用什么方法将其转换为如下格式
<D>
<T C1="1" C2="2"... Cn="n"></T>
<T C1="1" C2="2"... Cn="n"></T>
</D>
这是一问,二问已知第二种格式,又如何转成第一种格式,二问其实差不多,呵呵,

你可能感兴趣的:(schema)