xsd文件定义了xml文件的架构。如果一个xsd文件定义了一个数据库里表的结构,比如: <?xml version="1.0" encoding="utf-8"?> <xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" target-Namespace="http://www.contoso.com/books" xmlns:xs ="http://www/w3.org/2001/XMLSchema"> <xs:element name="tradeInformation"> <xs:complexType> <xs:sequence> <xs:element name="id" type="xs:int"> <xs:element name="tradeDate" type="xs:date"/> <xs:element name="tradeTime" type="xs:time"/> </xs:sequence> </xs:complexType> </xs:element> 如何遍历这个文件然后建表,表名为tradeInformation.里面有字段id,tradeDate,tradeTime。希望大家能给点建议。如果有有用的链接也发来看看 |
|
15分 |
你解析出这个xsd信息,然后拼创建表的sql就可以了
create table tradeInformation ( id int, tradedate date, tradeTime time) |
关键是自动化的建表啊,也就是说xsd文件时别人任意给你的,里面的结构不确定啊 |
|
15分 |
1.解析xml
DataSet ds = new DataSet(); ds.ReadXmlSchema(filePath); 2.找到列信息 ds.Tables[0].TableName; ds.Tables[0].Columns[0].ColumnName; ds.Tables[0].Columns[0].DataType; 3.生成脚本: DECLARE FLAG NUMBER; BEGIN FLAG := 0; SELECT COUNT(TABLE_NAME) INTO FLAG FROM USER_TABLES WHERE TABLE_NAME=”TableName”; IF FLAG > 0 THEN EXECUTE IMMEDIATE “DROP TABLE TableName CASCADE CONSTRAINTS”; END IF; EXECUTE IMMEDIATE “CREATE TABLE TableName ( id VARCHAR2(1) DEFAULT “” “” NOT NULL, … … ) “; EXECUTE IMMEDIATE “COMMENT ON TABLE TableName IS “”xxx”””; end; |
10分 |
BTW,你的xsd文件最后掉了一个</xs:schema>
|
害死我,还有掉了sechma 还有 http://www/w3.org 应该是 www.w3.org
|