使用DOM和XSL定义Java提取数据的格式

ZDNet软件频道 时间:2003-12-18 作者:ZDNet China |  我要评论()
本文关键词:Java XSL javatips DOM
现在,我们将讲述如何建立DOM对象和使用XSL以定义数据的格式。只要给定合适的输入,最终的输出都能够适用于任何程序中的各种数据。
本文译自Builder.com,未经许可请勿转载

现在,我们将讲述如何建立DOM对象和使用XSL以定义数据的格式。只要给定合适的输入,最终的输出都能够适用于任何程序中的各种数据。

Java能够从任何JDBC兼容的数据库中提取数据,把数据转换到一个DOM对象,然后使用XSL以需要的方式定义数据的格式。现在,我们将讲述如何建立DOM对象和使用XSL以定义数据的格式。只要给定合适的输入,最终的输出都能够适用于任何程序中的各种数据。

建立DOM文档

Java的绝大多数新版本都包含了JAXP XML处理功能及执行由万维网联盟(W3C)定义的DOM API的功能。基于这些JAXP兼容功能,通过JAXP factory和builder方法,只需要3行代码就可以建立一个DOM文档:

 DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
 DocumentBuilder builder = factory.newDocumentBuilder();
 Document document = builder.newDocument();


名为resultset的一个根元素被生成并添加到一个文档对象:

 Element root = document.createElement("resultset");
 document.appendChild(root);


resultset指针遍历所有的结果集时,一个包含行元素的新元素被添加到根元素:

 Element nextRow = document.createElement("row");

列个数可从ResultSetMetaData对象读到,在数据库提取阶段必须定义这一对象:

 intcolumnCount = rsmd.getColumnCount();

使用一个for循环可以获得列名称,并可以将带有一个包含名称值的子TextNode添加到每一列名称的names元素:

 String[] columnNames = new String[columnCount];
 Element names = document.createElement("names");
 for (inti = 0; i < columnCount; i++){
 /* the first column is 1, the second is 2, ... */
 columnNames[i] = rsmd.getColumnName(i + 1);
 Element nextNameNode = document.createElement("name");
 Text nextName = document.createTextNode(columnNames[i]);
 nextNameNode.appendChild(nextName);
 names.appendChild(nextNameNode);
 }


百度大联盟认证黄金会员Copyright© 1997- CNET Networks 版权所有。 ZDNet 是CNET Networks公司注册服务商标。
中华人民共和国电信与信息服务业务经营许可证编号:京ICP证010391号 京ICP备09041801号-159
京公网安备:1101082134