out.println("item1==" + item1);   //输出item1==[TreeNode: null]
--------------------------------------这并是说item1对象是空,只是item1对象转换成String类型后是[TreeNode: null]形式。你试试用System.out.println(DocumentToXml.docToXML(lDocument));
打出后台看看。如果程序执行没出错的话,估计类似下面的形式:
<?xml version="1.0" encoding="GB2312"?>
<Tree>
    <TreeNode
        Href="xxxxxxxxxxxxxxxx"
        NodeId="xxxxxxxx"
        NodeXmlSrc="xxxxxxxxxxx"/>
</Tree>要注意的一点是,所有的输出都要在一行里,例如:
<%@ page language="java" contentType="text/html;charset=GBK"
%><%@ page import="org.apache.xerces.dom.DocumentImpl"
%><%@ page import="org.w3c.dom.*"
%><%@ page import="exampleTree.*"
%><%@ page import="java.net.URLEncoder"
%><%
................
%>不能象下面哪样分行:
<%@ page language="java" contentType="text/html;charset=GBK"%>
<%@ page import="org.apache.xerces.dom.DocumentImpl"%>
<%@ page import="org.w3c.dom.*"%>
<%@ page import="exampleTree.*"%>
<%@ page import="java.net.URLEncoder"%>
<%
........
%>因为有些浏览器解析xml文件的时候不认分行显示的xml标志。