【问题标题】:want to retrieve values from database for xml tags in java想从数据库中检索java中xml标签的值
【发布时间】:2011-09-21 03:01:24
【问题描述】:

嗨,我想使用 java 编码从 SQL 数据库中检索 xml 标记的值 我已经编写了连接数据库的代码...我能够查询数据库...使用 documentbuliderfactory 和 transformerfactory 创建了一个 .xml 文件。现在输出是这样的

public class New

        void condb() {    /*written code to connect databse*/
            try {
                /*code for get xml tags*/
                                 stmt = connection.createStatement();
                String querystring = ("select CId from company");
                rs = stmt.executeQuery(querystring);
                System.out.println("\n" + "CId");
                while (rs.next()) {
                    System.out.println(rs.getInt(1) + "    ");
                }
                Element child1 = doc.createElement("Company");
                child1.setAttributeNS(xlink, "xlink:type", "");                                         child1.setAttributeNS(xlink, "xlink:show", "  ");
                child.appendChild(child1);
               /*code for xml*/
                bw.flush();
                bw.close();
            } catch (Exception e) {
                System.out.println("Exception in connecting to DB" + e.getMessage());
                System.err.println(e.getMessage());
            }
        }

        public static void main(String args[]) throws Exception {
            New e = new New();
            e.condb();
        }
}

我想从数据库中获取 xlink:type=" " 和 xlink:show="" 的值...我尝试声明变量名称并为其分配查询,在“”字段中调用该变量名称.. 但是它不起作用...请任何人帮助我解决这个问题。

【问题讨论】:

  • 如果您显示您的问题代码,您将获得更多帮助。

标签: java mysql sql xml jdbc


【解决方案1】:

据我了解,您需要将数据库中的公司列表存储在 xml 中。 试试这个:

            while (rs.next())
            {
                Element child1 = doc.createElement("Company");
                child1.setAttributeNS(xlink, "xlink:type", rs.getString (1));
                child1.setAttributeNS(xlink, "xlink:show", "  ");
                child.appendChild(child1);   
            }

虽然我不太了解你的sql查询

从公司中选择 CId
公司是表还是其他一些选择查询?

【讨论】:

  • 这解决了我一半的问题。我可以访问一个属性的值...但是对于第二个属性,这显示索引超出范围...
  • company 是 tabale 名称...我也给 taglist 赋予了相同的名称
  • 更正您的查询以按要求的顺序从公司表中选择所有必需的属性值。 rs.getXXX 需要列索引,但您的查询只返回一列。
  • 我不理解上面的行......我有 2 列 CId 和 Cname。我放了 rs.getstring(1) 和 rs.getString(2)。但它在连接到 DB 时给出以下错误异常索引 2 超出范围。索引 2 超出范围。
  • 我又尝试了一个 while 循环。然后它在连接到 DB 时给出以下错误异常结果集已关闭。结果集已关闭。
猜你喜欢
  • 1970-01-01
  • 2013-10-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多