-1

我有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 语言将其转换为表格或网格格式。请分享你的想法

问候

喜悦

4

1 回答 1

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 文档。

这是一个例子

于 2012-06-27T12:33:14.210 回答