首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java Web开发 >

dom4j解析xml生成html解决方法

2012-08-17 
dom4j解析xml生成html最近因为项目的需要,需要解析xml。本人在xml这方面完全是个菜鸟,有哪位大虾给予帮助,

dom4j解析xml生成html
最近因为项目的需要,需要解析xml。本人在xml这方面完全是个菜鸟,有哪位大虾给予帮助,感激不尽,分数多多 
本人的要求如下: 
有一个.xml文件: 
<modes> 
<line id="1"> 
<cell x="1" value=""/> 
<cell x="2" value=""/> 
<cell x="3" value=""/> 
<cell x="4" cols="14" style="label" value="AAAAAAAAAAAAAAAAAAAAAAAAAAAAA"> 
<font>宋体;B;12 </font> 
</cell> 
<cell x="18" value=""/> 
<cell x="19" value=""/> 
<cell x="20" value=""/> 
</line> 
<line id="2"> 
<cell x="1" value=""/> 
<cell x="2" value=""/> 
<cell x="3" value=""/> 
<cell x="4" value=""/> 
<cell x="5" value=""/> 
<cell x="6" value=""/> 
<cell x="7" value=""/> 
<cell x="8" value=""/> 
<cell x="9" value=""/> 
<cell x="10" value=""/> 
<cell x="11" value=""/> 
<cell x="12" value=""/> 
<cell x="13" value=""/> 
<cell x="14" value=""/> 
<cell x="15" cols="6" style="label" value="AAAAAAAAAAA"/> 
</line> 
<line id="3"> 
<cell x="1" value=""/> 
<cell x="2" cols="5" style="label" value="AAAA"/> 
<cell x="7" cols="5" style="text" class="string" value="AAAA" ref="1"/> 
<cell x="12" value=""/> 
<cell x="13" value=""/> 
<cell x="14" value=""/> 
<cell x="15" cols="6" style="label" value="SSSSSSSSS"/> 
</line> 
<line id="4"> 
<cell x="1" value=""/> 
<cell x="2" value=""/> 
<cell x="3" value=""/> 
<cell x="4" value=""/> 
<cell x="5" value=""/> 
<cell x="6" cols="6" style="label" value="CCCCC" lb="1" tb="1" rb="1" bb="1"/> 
<cell x="12" cols="2" style="label" value="XXXXXX" lb="1" tb="1" rb="1" bb="1"/> 
<cell x="14" style="label" value="XXX" lb="1" tb="1" rb="1" bb="1"/> 
<cell x="15" cols="2" style="label" value="XXXXXX" lb="1" tb="1" rb="1" bb="1"/> 
<cell x="17" value=""/> 
<cell x="18" value=""/> 
<cell x="19" value=""/> 
<cell x="20" value=""/> 
</line> 
<line id="5"> 
<cell x="1" value=""/> 
<cell x="2" value=""/> 
<cell x="3" value=""/> 
<cell x="4" value=""/> 


<cell x="5" value=""/> 
<cell x="6" cols="6" style="label" value="XXXXX" lb="1" tb="1" rb="1" bb="1"/> 
<cell x="12" cols="2" style="label" value="XXXXX" lb="1" tb="1" rb="1" bb="1"/> 
<cell x="14" style="label" value="XXXXX" lb="1" tb="1" rb="1" bb="1"/> 
<cell x="15" cols="2" style="text" value="XXXXX" lb="1" tb="1" rb="1" bb="1"/> 
<cell x="17" value=""/> 
<cell x="18" value=""/> 
<cell x="19" value=""/> 
<cell x="20" value=""/> 
</line> 
</modes> 
希望利用dom4j将它转换成html片段,如下所示: 
<tr> 
<td>$nbsp; </td> <td>$nbsp; </td> <td>$nbsp; </td> 
  <td colspan="14"> <font size="12" style="family:宋体;size:12;weight:B" >AAAAAAAAAAAAAAAAAAAAAAAAAAAAA </font> </td> 
  <td>$nbsp; </td> <td>$nbsp; </td> <td>$nbsp; </td> 
</tr> 
<tr> 
<td>$nbsp; </td> <td>$nbsp; </td> <td>$nbsp; </td> <td>$nbsp; </td> <td>$nbsp; </td> <td>$nbsp; </td> <td>$nbsp; </td> <td>$nbsp; </td> 
<td>$nbsp; </td> <td>$nbsp; </td> <td>$nbsp; </td> <td>$nbsp; </td> <td>$nbsp; </td> <td>$nbsp; </td> 
  <td colspan="6" >AAAAAAAAAAA </td> 
</tr> 
<tr> 
<td>$nbsp; </td> 
  <td colspan="5" >AAAA </td> 
  <td colspan="5"> <input type="text" value="AAAA" class="string"> </td> 
  <td>$nbsp; </td> <td>$nbsp; </td> <td>$nbsp; </td> 
  <td colspan="5" >SSSSSSSSS </td> 
</tr> 
<tr> 
<td>$nbsp; </td> <td>$nbsp; </td> <td>$nbsp; </td> <td>$nbsp; </td> <td>$nbsp; </td> 
<td colspan="6">CCCCC </td> 
<td colspan="2">XXXXXX </td> 
<td>XXX </td> 
<td colspan="2">XXXXXX </td> 
<td>$nbsp; </td> <td>$nbsp; </td> <td>$nbsp; </td> <td>$nbsp; </td> 
</tr> 
<tr> 
<td>$nbsp; </td> <td>$nbsp; </td> <td>$nbsp; </td> <td>$nbsp; </td> <td>$nbsp; </td> 
<td colspan="6">XXXXX </td> 
<td colspan="2">XXXXX </td> 
<td>XXXXX </td> 
<td colspan="2"> <input type="text" value="XXXXX"> </td> 
<td>$nbsp; </td> <td>$nbsp; </td> <td>$nbsp; </td> <td>$nbsp; </td> 
</tr> 


有哪位大虾可以帮帮我,最好有代码,思路也可以,在下感激不尽

[解决办法]
这有个例子你照着做做试试

import javax.xml.parsers.*;
import org.w3c.dom.*;
import java.io.*;

public class DOMPageList{
public static void main(String[] args) {


try {
//创建解析工厂
DocumentBuilderFactory dbfactory = DocumentBuilderFactory.newInstance();
//指定DocumentBuilder
DocumentBuilder builder = dbfactory.newDocumentBuilder();
//从文件构造一个Document,因为XML文件中已经指定了编码,所以这里不必了
Document doc = builder.parse(new File("book.xml"));
//得到Document的根(节点名:book)
Element root = doc.getDocumentElement();
System.out.println("根节点标记名:" + root.getTagName());
System.out.println("*****下面遍历XML元素*****");
//获得page元素
NodeList list = root.getElementsByTagName("content");
System.out.println(list.getLength());
//遍历page元素
for (int i=0; i < list.getLength() ; i++) {
//获得page的元素
Element element = (Element)list.item(i);
//获得ID属性
NodeList titleid = element.getElementsByTagName("id");
//获得id元素
Element idElement = (Element)titleid.item(0);
//获得id元素的第一个值
String id = idElement.getFirstChild().getNodeValue();
System.out.println("ID :" + " " + id + "title :" + " " + title + "file :" + " " + file);
}
} catch (Exception e) {
e.printStackTrace();
}
}


book.xml: 
<?xml version="1.0" encoding="UTF-8"?>
 <book>
 <content>
<id>100010</id>
<title>java tools</title>
<file>c:\file\</file>
</content>
 </book>

[解决办法]
http://blog.csdn.net/jinchun1234/archive/2009/06/17/4274679.aspx

热点排行