高分请教 如何将DTD自动生成一棵树?急用!

chmsky 2006-04-25 08:02:59
<!ELEMENT bookinfo (title,auther,publisher,publishyear,isbn,price,comment)>
<!ELEMENT title (ctname?,etname?)>
<!ELEMENT ctname (#PCDATA)>
<!ELEMENT etname (#PCDATA)>
<!ELEMENT auther (caname?,eaname?)>
<!ELEMENT caname (#PCDATA)>
<!ELEMENT eaname (#PCDATA)>
<!ELEMENT isbn (#PCDATA)>
<!ELEMENT publisher (pname,addr?)>
<!ELEMENT pname (#PCDATA)>
<!ELEMENT addr (#PCDATA)>
<!ELEMENT publishyear (#PCDATA)>
<!ELEMENT price ( #PCDATA)>
<!ELEMENT comment (#PCDATA)>

DTD内容如上,如何对该dtd解析,生成一棵树型结构?高手帮忙,高分相赠.非常感谢!
...全文
259 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
kill8108 2006-05-08
  • 打赏
  • 举报
回复
学习.............
lydvqq 2006-05-07
  • 打赏
  • 举报
回复
DTDParser parser = new DTDParser(yourDataFile);
DTD dtd = parser.parse();

DTDElement rootDtdElement = DTD.rootElement();
先得到所有的element到一个Map中,然后递归来取根节点(rootDtdElement )的子节点.
zclgod 2006-04-30
  • 打赏
  • 举报
回复
网上很多树
ibiswang 2006-04-27
  • 打赏
  • 举报
回复
有很多办法可以实现的,你可以利用如下API来达到你的目的:

http://www.wutka.com/dtdparser.html

其API在
http://www.wutka.com/dtdparserapi/index.html

大致的思路如下:

import com.wutka.dtd.*;

.....(File yourDataFile) throws .... {
DTDParser parser = new DTDParser(yourDataFile);
DTD dtd = parser.parse();

DTDElement rootDtdElement = DTD.rootElement();

...... 下面就可以利用其API进行处理了。。。。
}
chmsky 2006-04-25
  • 打赏
  • 举报
回复
要求这么做的啊,呵呵.
imA 2006-04-25
  • 打赏
  • 举报
回复
我看了一下你的截图。你没有必要根据dtd文件生成啊,而且也没有这么做的。
你的这个结构是固定的吧,直接在前台就照着这个结构写不就行了。

干什么还要读取dtd确定结构呢?
chmsky 2006-04-25
  • 打赏
  • 举报
回复
生成树的结构大致如下所示:
http://www.jxyd.net/jxyd/homework/99stu/C815/查询接口.gif
上面发的dtd可以改动,自动生成如图所示的就可以了,右边的是文本框,供用户输入查询条件.
急用.谢谢.
chmsky 2006-04-25
  • 打赏
  • 举报
回复
急需这样的一个解析器.
imA 2006-04-25
  • 打赏
  • 举报
回复
java中好像有专门读取dtd文件的api。我给你看看,但是不保证能解决。

当然你也可以自己写一个针对你这个文件的解析器,也不难的。
chmsky 2006-04-25
  • 打赏
  • 举报
回复
就是一个实在的树,显示在页面上的.这里好象没法发图片啊?
imA 2006-04-25
  • 打赏
  • 举报
回复
你想生成什么样的树?

基于xml文件的?还是显示在页面上的?还是其他的?

67,512

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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