DataSet读取xml架构问题,求救!!!

流年 2008-12-22 02:22:31
我现在有一个xmlschema:
<?xml version="1.0" encoding="gb2312"?>
<xs:schema targetNamespace="http://schemas.accounting.org.cn/2004/datainterface/gssm" xmlns="http://schemas.accounting.org.cn/2004/datainterface/gssm" xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
<xs:annotation>
<xs:documentation>表编号截至“t018”</xs:documentation>
</xs:annotation>
<xs:attribute name="locID" type="xs:string">
<xs:annotation>
<xs:documentation>数据标识符</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:simpleType name="电子账簿编号类型">
<xs:restriction base="xs:string">
<xs:maxLength value="5"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="电子账簿名称类型">
<xs:restriction base="xs:string">
<xs:maxLength value="30"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="会计核算单位类型">
<xs:restriction base="xs:string">
<xs:maxLength value="60"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="组织机构代码类型">
<xs:restriction base="xs:string">
<xs:maxLength value="20"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="单位性质类型">
<xs:annotation>
<xs:documentation>根据unicode字符计算方法,改为4字符长度</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:length value="4"/>
<xs:enumeration value="企业单位"/>
<xs:enumeration value="事业单位"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="行业类型">
<xs:restriction base="xs:string">
<xs:maxLength value="20"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="开发单位类型">
<xs:restriction base="xs:string">
<xs:maxLength value="60"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="版本号类型">
<xs:restriction base="xs:string">
<xs:maxLength value="20"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="年度类型">
<xs:restriction base="xs:string">
<xs:length value="4"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="本位币类型">
<xs:restriction base="xs:string">
<xs:maxLength value="14"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="科目结构类型">
<xs:restriction base="xs:string">
<xs:maxLength value="30"/>
</xs:restriction>
</xs:simpleType>
<xs:element name="电子账簿">
<xs:complexType>
<xs:sequence>
<xs:element name="电子账簿编号">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="电子账簿编号类型">
<xs:attribute ref="locID" use="required" fixed="001"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="电子帐簿名称">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="电子账簿名称类型">
<xs:attribute ref="locID" use="required" fixed="002"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="会计核算单位">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="会计核算单位类型">
<xs:attribute ref="locID" use="required" fixed="003"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="组织机构代码">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="组织机构代码类型">
<xs:attribute ref="locID" use="required" fixed="004"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="单位性质">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="单位性质类型">
<xs:attribute ref="locID" use="required" fixed="005"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="行业">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="行业类型">
<xs:attribute ref="locID" use="required" fixed="006"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="开发单位">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="开发单位类型">
<xs:attribute ref="locID" use="required" fixed="007"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="版本号">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="版本号类型">
<xs:attribute ref="locID" use="required" fixed="008"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="年度">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="年度类型">
<xs:attribute ref="locID" use="required" fixed="009"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="本位币">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="本位币类型">
<xs:attribute ref="locID" use="required" fixed="010"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="科目结构">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="科目结构类型">
<xs:attribute ref="locID" use="required" fixed="011"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute ref="locID" use="required" fixed="t001"/>
</xs:complexType>
</xs:element>
</xs:schema>
现在要用DataSet读取的时候想把这个表的结构读取出来,应该怎么做,这个表读出来的时候只有一个表,其实复杂类型在上面定义完,各个约束也都在这个架构上了,我应该怎么样去读取呢?帮我看看,谢谢大家!!!
...全文
191 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
freemeditator 2008-12-22
  • 打赏
  • 举报
回复
mark
chinaicm 2008-12-22
  • 打赏
  • 举报
回复
<xs:documentation>表编号截至“t018” </xs:documentation>
这个数据有问题吧?
“t018”换成 "t018"
浮生若梦丶 2008-12-22
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 leali 的回复:]
楼上那种方法不行,我试过了
是不是dataset遇到complextype就给读成表了啊?希望高人指点一下,头疼死了。。如果不想用读取xml进行分析的话,有没有更好的方法?
[/Quote]
那你就用2个datatable接收撒,DataTable dt1= ds.Tables[1];
DataTable dt2= ds.Tables[0];你仔细看那2个表是有关联的嘛[/
流年 2008-12-22
  • 打赏
  • 举报
回复
嗯,那个也用了,但是还是读取不了那种架构
chinaicm 2008-12-22
  • 打赏
  • 举报
回复
DataSet还有一个ReadXmlSchema的方法,和ReadXml基本一样.

流年 2008-12-22
  • 打赏
  • 举报
回复
楼上那种方法不行,我试过了
是不是dataset遇到complextype就给读成表了啊?希望高人指点一下,头疼死了。。如果不想用读取xml进行分析的话,有没有更好的方法?
cymyren 2008-12-22
  • 打赏
  • 举报
回复
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;

public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{

}

protected void Button1_Click(object sender, EventArgs e)
{
DataSet ds = new DataSet();
ds.ReadXml(Server.MapPath("xmlschema.xml"));

}
}


wap21 2008-12-22
  • 打赏
  • 举报
回复
不懂,up

17,740

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 .NET Framework
社区管理员
  • .NET Framework社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧