关于JDOM的两个问题(实现树形结构问题与NoClassDefFoundErro错误)

88888888csdn 2004-12-13 08:27:01
1)用XML来表示树形结构:
我的数据库中表如下定义:
CREATE TABLE `category` (
`id` bigint(20) unsigned NOT NULL auto_increment,
`name` varchar(50) default NULL,
`parentid` bigint(20) default '0',
PRIMARY KEY (`id`)
)
来表示一个树形结构,我想从数据库中提取数据放到XML文件中,并用JDOM来解析。现在有一个疑问:
如果有两个节点,分别为父亲节点和孩子节点,如下所示:
父亲节点
<id>1</id>
<name>father</name>
<parentid>0</parentid>
孩子节点
<id>2</id>
<name>child</name>
<parentid>1</parentid>
从parentid很容易看出下面是父子关系
其中father节点是child的父亲节点,从parentid可以看出。但是我不知道在XML文件中怎
样表示这种父子关系,由于XML本身是树形结构的,在XML文件中很容易表示父子关系,如:
<father>
<child>sss</child>
</father>
这很明显能看出上面是父子关系,可是如果用我上面两个节点的数据,应该如何表达呢?


2)java.lang.NoClassDefFoundError问题:
我从jdom官方网站上下载了最新稳定版本1.0,可是运行一个简单的例子时出现如下错误:
java.lang.NoClassDefFoundError: org/xml/sax/SAXNotRecognizedException
我的xerces.jar文件用的是JDOM下载包对应的文件xerces.jar,应该不会是xerces.jar
版本的问题吧。而且我保证了classpath中xerces.jar在其它XML相关包(如JAXP或Crimson)
之前,可是为什么还会出现这样的错误呢?

诚请指教,谢谢!
...全文
76 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
TyroneChan 2004-12-15
  • 打赏
  • 举报
回复
有多少层都没问题啦,就直接添加<child></child>就行了嘛

<?xml version="1.0" ?>
<inherit>
<father>
<fatherId>1</fatherId>
<fatherName>father</fatherName>
</father>
<father>
<fatherId>2</fatherId>
<fatherName>father</fatherName>
</father>
<childList>
<child>
<childId>2</childId>
<childName>childName</childName>
<fatherId>1</fatherId>
</child>
<child>
<childId>3</childId>
<childName>childName</childName>
<fatherId>1</fatherId>
</child>
<!--到n....-->
<child>
<childId>4</childId>
<childName>childName</childName>
<fatherId>1</fatherId>
</child>
<child>
<childId>2</childId>
<childName>childName</childName>
<fatherId>1</fatherId>
</child>
</childList>
</inherit>

不知道你说的是不是child有多层
88888888csdn 2004-12-15
  • 打赏
  • 举报
回复
谢谢 TyroneChan(油亮脖子金黃腳)!
第一个问题,如果我的这种树形结构有很多层,有多少层也是未知的,那么应该怎么表示呢?
88888888csdn 2004-12-15
  • 打赏
  • 举报
回复
你可能理解错了,我是指树形结构有多层。而且有多少层未知。另外我用XML的目的就是想直接能
利用XML的TREE的性质直接输出树形结构,你的方法好像还要通过parentid来找父亲节点,如果是
这样我用XML来存放树形结构就没有什么意义了,还不如直接放在数据库中,通过数据库存取。
TyroneChan 2004-12-13
  • 打赏
  • 举报
回复
关于第一个问题参考下面的结构:

<?xml version="1.0" ?>
<inherit>
<father>
<fatherId>1</fatherId>
<fatherName>father</fatherName>
</father>
<childList>
<child>
<childId>2</childId>
<childName>childName</childName>
<fatherId>1</fatherId>
</child>
<child>
<childId>3</childId>
<childName>childName</childName>
<fatherId>1</fatherId>
</child>
</childList>
</inherit>
也可以所<child>下面的<fatherId>作为一个属性放在<child>元素里面。

第二个问题没遇过到,估计是你的Factory配置有问题,取消Factory的所有feature看看

67,513

社区成员

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

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