求代码:根据dtd进行数据库建表

dy314 2006-04-21 10:40:45
对不同的dtd都可以自动生成不同的表.
使用java语言.
希望可以提供源程序.
或者相关的资料.
...全文
142 10 点赞 打赏 收藏 举报
写回复
10 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
dy314 2006-04-22
知道了数据库名,有没有什么办法可以判断里面有多少个表?每个表有哪些字段?
  • 打赏
  • 举报
回复
dy314 2006-04-22
如果没有了dtd,可以根据数据库生成xml文件吗?
特别是当数据库中有多个表的时候?


(分数继续加)
  • 打赏
  • 举报
回复
dy314 2006-04-22
如果没有了dtd,可以根据数据库生成xml文件吗?
特别是当数据库中有多个表的时候?


(分数继续加)
  • 打赏
  • 举报
回复
yuzl32 2006-04-21
另外,保存的时候可以将该节点以及子节点的信息封装保存到List中.便于后面节点分析.
  • 打赏
  • 举报
回复
yuzl32 2006-04-21
name --> 无子节点,丢弃.
lw --> 存在(id,name) --> 可能为库名或表名,设个标志,并保存.
lws --> 存在(lw) --> 子节点名跟上面的未知标志的lw做比较,若相同,lws 则为数据库,否则,再设标志,并保存(信息).

循环...

一旦确认一个是数据库,所有其他未知标志全部设定为表.

(不知道这样符合你的规则不)
  • 打赏
  • 举报
回复
dy314 2006-04-21
waiting~~~~
  • 打赏
  • 举报
回复
dy314 2006-04-21
例如下面的dtd,可以将lws作为数据库名,lw作为表名,id和name作为字段名.
现在碰到的困难是:
1.如何识别出lws就是数据库名,特别是比较复杂dtd.
2.同理,如何识别表名,字段名.
(不同的用户可以给出不同结构的xml文件或dtd)

<?xml version="1.0" encoding="GB2312" ?>
<!ELEMENT name ( #PCDATA ) >
<!ELEMENT lw ( id, name ) >
<!ELEMENT lws ( lw ) >
<!ELEMENT id ( #PCDATA ) >
  • 打赏
  • 举报
回复
dy314 2006-04-21
原来的要求是要将任何xml文件存入关系数据库,并且可以还原会原来的xml文件.

要考虑到通用性.也就是不同结构的xml都要适应.(这正是我要问的)

我的想法是:
1.先由xml文件生成dtd.
2.根据dtd建表.
3.根据dtd将xml数据读出并存入数据库.
4.根据dtd将数据从数据库中读出,并还原为原来的xml文件.
  • 打赏
  • 举报
回复
yuzl32 2006-04-21
dtd 里面你要怎么区分表名和字段名?贴个例子上来.
  • 打赏
  • 举报
回复
dy314 2006-04-21
给个思路也行.通宵等...
  • 打赏
  • 举报
回复
相关推荐
发帖
Java EE
加入

6.7w+

社区成员

J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
申请成为版主
帖子事件
创建了帖子
2006-04-21 10:40
社区公告
暂无公告