注册 登录
编程论坛 J2EE论坛

求助:jsp使用jdom读取xml的问题

mywest 发布于 2007-11-27 11:06, 1310 次点击
部分:

xml
--------------------------------
<?xml version="1.0" encoding="UTF-8"?>
<root>
<DB name="sqlserver2005">
<DATYPE>sqlserver</DATYPE><!--数据库类型 -->
<DBNAME>huang_test</DBNAME><!--数据库名称 -->
<DBUSER>sa</DBUSER><!--数据库用户名 -->
<DBPASSWORD>xxxxxx</DBPASSWORD><!--数据库用户密码 -->
<DBSERVICE>abc-2000</DBSERVICE><!--数据库地址 -->
<SERVERDRIVER>com.microsoft.sqlserver.jdbc.SQLServerDriver</SERVERDRIVER><!--设置JDBC驱动类型 -->
</DB>
</root>
---------------------------
dbxmlread.java

import *;
import java.util.*;
import javax.servlet.http.*;
import org.jdom.*;
import org.jdom.input.*;

public dbXMLReader ()
    {
        SAXBuilder sb=new SAXBuilder();
       Document doc=sb.build("c://dbconfig.xml"); //构造文档对象
       Element root = doc.getRootElement();//读取根节点

       ①System.out.println(root.getContentSize());

       List list=root.getChildren("DB");//取名字为DB的所有元素
       ②System.out.println(list.isEmpty());
       Element element=(Element)list.get(0);
      
       stDATYPE=element.getChildText("DATYPE");//取DB子元素DATYPE的内容
       stDBNAME=element.getChildText("DBNAME");
       stDBUSER=element.getChildText("DBUSER");
       stDBPASSWORD=element.getChildText("DBPASSWORD");
       stDBSERVICE=element.getChildText("DBSERVICE");
       stSERVERDRIVER=element.getChildText("SERVERDRIVER");   
    }
------------------------------
注:②输出为true,就是说list为空,
       当List list=root.getChildren("DATYPE");,DATYPE是一个具体的属性,输出为false,不为空。
       ①输出了具体数字。
------------------------------
能不能告诉我为什么list为空啊,读不出xml的内容啊。
5 回复
#2
风月_无边2007-11-27 18:41
估計是你那里弄錯了。
#3
mywest2007-11-28 09:09
我已经检查了n遍,找不到错误。
#4
hardes2007-12-01 16:11
会不会是路径有问题啊,我看代码也没什么错误啊!!
 不可能为false的啊,list不可能是空的
#5
mywest2007-12-03 09:10
如果路径有问题的话①就不会输出具体的数字了
#6
mywest2007-12-03 09:11
谁再来帮帮俺哪!!!
1