【问题标题】:parsing XML and show it into table using SOAP解析 XML 并使用 SOAP 将其显示到表中
【发布时间】:2013-11-14 08:08:17
【问题描述】:

我在 Web 服务中获取查询结果并将其发送到客户端服务我已使用以下方法将结果转换为 XML:

   try {
        Class.forName("com.mysql.jdbc.Driver");
        Connection conn = DriverManager.getConnection(url + dbName, userName, password);

        Statement st = conn.createStatement();
        ResultSet rs;
        rs = st.executeQuery("SELECT * FROM  information_schema.collations where id like '%84%'");

        ResultSetMetaData rsmd = rs.getMetaData();
        int colCount = rsmd.getColumnCount();

        while (rs.next()) {
            Element row = doc.createElement("Row");
            results.appendChild(row);
            for (int i = 1; i <= colCount; i++) {
                String columnName = rsmd.getColumnName(i);
                Object value = rs.getObject(i);
                Element node = doc.createElement(columnName);
                node.appendChild(doc.createTextNode(value.toString()));
                row.appendChild(node);
            }
        }
        DOMSource domSource = new DOMSource(doc);
        TransformerFactory tf = TransformerFactory.newInstance();
        Transformer transformer = tf.newTransformer();
        transformer.setOutputProperty(OutputKeys.OMIT_XML_DECLARATION, "yes");
        transformer.setOutputProperty(OutputKeys.METHOD, "xml");
        transformer.setOutputProperty(OutputKeys.ENCODING, "ISO-8859-1");
        StringWriter sw = new StringWriter();
        StreamResult sr = new StreamResult(sw);
        transformer.transform(domSource, sr);

        System.out.println(sw.toString());

        conn.close();
        rs.close();

    } catch (SQLException e) {
        throw new RuntimeException("Could not get connection", e);
    }

这被认为是正确的方法吗? 如何发送给客户服务? 如何在表格中显示?

【问题讨论】:

    标签: java xml web-services soap


    【解决方案1】:

    如果这是正确的方法,很大程度上取决于您要解决的问题。

    通常,仅以相当通用的方式将数据库表映射到 XML 文档并不是一个很好的 XML 用法(还要确保 ISO-8859-1 编码确实是您想要的,那就是您做您的数据中没有任何特殊字符,也不要期望此应用程序可以使用涵盖不同语言的数据运行)。

    您可以通过定义具有结构和关系等的对象来实现更多目标。 如果您已经有一个以更好的方式表示数据的对象结构,那么还有一些库可以用来将这些数据结构映射到 XML(例如 JAXB 或 XStream 是用于 XML 序列化的两个常用库)。

    详细说明您尝试实现的目标,您可能会收到更好的答案。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-12-03
      • 1970-01-01
      • 2012-11-21
      • 1970-01-01
      • 2016-12-16
      • 1970-01-01
      • 2016-04-21
      相关资源
      最近更新 更多