📄 .#xmltree.java.1.2
字号:
package com.common.util.cis;
import java.io.FileOutputStream;
import java.io.OutputStreamWriter;
import java.util.List;
import java.util.Stack;
import org.apache.commons.lang.CharSetUtils;
import org.apache.crimson.tree.XmlDocument;
import org.w3c.dom.Element;
/**
* 生成点击弹出的树对应的xml文件
* @date 2006-2-22
* @author 刘学军
*/
public class XmlTree {
/**
*
* @param xmlabsPath 生成xml文件存放的相对路径
* @param xmlcreatename 生成xml文件的名称
* @param title 树显示的题目
* @param urlName 点击链接url
* @param TreeList 生成xml文件所需要的数据集
* @param showImg 节点前的图片,包括路径
*/
public static void Create(String xmlabsPath ,String xmlcreatename,String title,String urlName,List treeList,String showImg)
{
System.out.println("XmlTree Create START...............\n ");
String layer = "";
String nodeCode = "";
String nodeName = "";
String nodeStr = "";
int currentLayer = 0;
int preLayer = 0;
String inputName = "chktree";
String openMode = "1";
String wwwPath = "";
wwwPath = "";
String xmlCreatePath = "";
if(showImg.length()==0){
showImg = "../images/cis/tree/biz7.gif";
}
String url = "";
try
{
//wwwPath = Common.GetWWWPath();
xmlCreatePath = wwwPath + xmlabsPath;
XmlDocument doc = new XmlDocument();
//doc.LoadXml("<?xml version=\"1.0\" encoding=\"utf-8\" ?>\r<root name=\"树型数据\"></root> ");
Element root =doc.createElement("root");
root.setAttribute("name","树型数据");
doc.appendChild(root);
//SqlDataReader dataReader = null;
//dataReader = DataAccess.DataBase.GetDataReader(dbProc);
//XmlElement xmlRoot = doc.GetElementById("树型数据");
Element xmlStart = doc.createElement("start");
xmlStart.setAttribute("name",title);
xmlStart.setAttribute("url","#");
xmlStart.setAttribute("show","yes");
xmlStart.setAttribute("target","mainFrame");
xmlStart.setAttribute("img","../images/cis/iconlogo.jpg");
root.appendChild(xmlStart);
Stack myStack = new Stack();
myStack.push(xmlStart);
for(int g=0;g<treeList.size();g++)
// while(dataReader.Read())
{
/*layer = dataReader["depaparentcoding"].ToString();
nodeCode = dataReader["depaid"].ToString();
nodeName = dataReader["depaname"].ToString();
nodeStr = dataReader["depaparentcoding"].ToString();*/
TreeElement treeElement=(TreeElement)treeList.get(g);
layer =treeElement.getLayer();
nodeCode = treeElement.getNodeCode();
nodeName = treeElement.getNodeName();
nodeStr =treeElement.getNodeFather();
nodeStr=nodeStr==null?"":nodeStr;
/*****/
url = urlName.trim() +"depaid=" + nodeCode + "&depaname=" + nodeName + "&farter="+ nodeStr + nodeCode + "$";
//url="javascript:opener.Form0.depaid="+nodeCode+";";
Element curElement = doc.createElement("node");
curElement.setAttribute("id",nodeCode);
curElement.setAttribute("name",nodeName);
curElement.setAttribute("show","yes");
curElement.setAttribute("target",treeElement.getTarget());
curElement.setAttribute("img",showImg);
curElement.setAttribute("url",url);
if(treeElement.getInputType() != "")
{
curElement.setAttribute("inputType",treeElement.getInputType());
curElement.setAttribute("inputName",inputName);
curElement.setAttribute("inputID","prod_" + nodeStr+ nodeCode + "$");
curElement.setAttribute("inputValue",nodeCode);
}
curElement.setAttribute("openMode",openMode);
currentLayer = CharSetUtils.count(layer,"$");//或者 treeElement.getNodeCount();
if(currentLayer > preLayer)
{
Element preElement = (Element)myStack.peek();
preElement.appendChild(curElement);
myStack.push(curElement);
}
else if(currentLayer == preLayer)
{
myStack.pop();
Element preElement = (Element)myStack.peek();
preElement.appendChild(curElement);
myStack.push(curElement);
}
else
{
for(int i=0;i<(preLayer-currentLayer+1);i++)
{
myStack.pop();
}
Element preElement = (Element)myStack.peek();
preElement.appendChild(curElement);
myStack.push(curElement);
}
preLayer = currentLayer;
}
//doc.DocumentElement.AppendChild(xmlStart);
/*XmlTextWriter xmldoc = new XmlTextWriter( xmlCreatePath + xmlcreatename ,null);
xmldoc.Formatting = Formatting.Indented;
doc.WriteContentTo(xmldoc);
xmldoc.Close();*/
// 把XML文档输出到指定的文件
FileOutputStream outStream = new FileOutputStream(xmlCreatePath + xmlcreatename);
OutputStreamWriter outWriter = new OutputStreamWriter(outStream);
((XmlDocument) doc).write(outWriter, "GBK");
outWriter.close();
outStream.close();
}
catch (Exception e)
{
System.out.println("The process failed: "+ e.getMessage());
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -