XML数据的网格视图

时间:2012-06-27 12:25:51

标签: java xml jsp

我有xml格式的数据如下

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
    <Row>
        <Sales_Doc>OR</Sales_Doc>
        <Sales_Org>0001</Sales_Org>
        <Dist_Ch>01</Dist_Ch>
        <Division>01</Division>
        <Sold_to_Party>SCEM_02</Sold_to_Party>
        <MatNo/>
        <Net_Weight>PC</Net_Weight>
        <Net_Weight_Item>590000</Net_Weight_Item>
        <Weight_Unit>KG/Weight_Unit>    
        <Sales_Unit>PC</Sales_Unit>
    </Row>
</xml>

我需要使用jsp或java语言将其转换为表格或网格格式。 请分享您的想法

此致

1 个答案:

答案 0 :(得分:0)

您可以解析xml文件,如下所示:

<%
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
DocumentBuilder db = dbf.newDocumentBuilder();
Document doc = db.parse("http://localhost:8080/practice/test.xml");

NodeList nl= doc.getElementsByTagName("Sales_Doc");
NodeList n2= doc.getElementsByTagName("Sales_Org");
NodeList n3= doc.getElementsByTagName("Dist_Ch");
NodeList n4= doc.getElementsByTagName("Division");
NodeList n5= doc.getElementsByTagName("Sold_to_Party");
 // here more nodes in your xml file ....
%>

并在jsp页面中显示如下:

<table>
<tr>
 <%
 for(int i=0;i<3;i++)
 {
 %>
 <td><%= nl.item(i).getFirstChild().getNodeValue() %></td>
 <td><%= n2.item(i).getFirstChild().getNodeValue() %></td>
 <td><%= n3.item(i).getFirstChild().getNodeValue() %></td>
 <td><%= n4.item(i).getFirstChild().getNodeValue() %></td>
 // here more tds depending on your xml file ...
 </tr>
 <%
 }
 %>
 </table>

参考http://wowjava.wordpress.com/2010/04/02/displaying-xml-data-in-jsp-page/

另一种方法是使用xslt:

xslt:XSLT(可扩展样式表语言转换)是一种基于XML的声明性语言,用于转换XML文档。原始文件没有改变;相反,基于现有文档的内容创建新文档。2新文档可由处理器以标准XML语法或其他格式(例如HTML或纯文本)序列化(输出)。{ {3}} XSLT最常用于在不同的XML模式之间转换数据或将XML数据转换为网页或PDF文档。

3