⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 qzjbean.java

📁 解析xml程序,通用的解析方法,十分适用开发
💻 JAVA
字号:
/*
 * Created on 2005-8-22
 *
 * TODO To change the template for this generated file go to
 * Window - Preferences - Java - Code Style - Code Templates
 */
package tongtech.mb.config;

import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.util.ArrayList;
import java.util.List;

import org.jdom.Document;
import org.jdom.Element;
import org.jdom.input.SAXBuilder;
import org.jdom.output.Format;
import org.jdom.output.XMLOutputter;

/**
 * @author nutchen
 * 
 * TODO To change the template for this generated type comment go to Window -
 * Preferences - Java - Code Style - Code Templates
 */
public class QzjBean {
	private String Strategy;
	private static QzjBean instance = new QzjBean();

	private String ConnectionPort, ListenerPort, SendTimeout, ReceiveTimeout,
			ConnectionIp, signonNotify, signonIp, signonPort;

	private String Description, Code;

	private QzjBean() {

		// TODO Auto-generated constructor stub
	}
	
	static public QzjBean getInstance() {
		return instance; 
	}

	public java.lang.String getStrategy() {
		return Strategy;
	}

	public void setStrategy(java.lang.String Strategy) {
		this.Strategy = Strategy;

	}

	public String getConnectionPort() {
		return ConnectionPort;
	}

	public void setConnectionPort(String ConnectionPort) {
		this.ConnectionPort = ConnectionPort;
	}

	public String getListenerPort() {
		return ListenerPort;
	}

	public void setListenerPort(String ListenerPort) {
		this.ListenerPort = ListenerPort;
	}

	public String getSendTimeout() {
		return SendTimeout;
	}

	public void setSendTimeout(String SendTimeout) {
		this.SendTimeout = SendTimeout;
	}

	public String getReceiveTimeout() {
		return ReceiveTimeout;
	}

	public void setReceiveTimeout(String ReceiveTimeout) {
		this.ReceiveTimeout = ReceiveTimeout;
	}

	public String getConnectionIp() {
		return ConnectionIp;
	}

	public void setConnectionIp(String ConnectionIp) {
		this.ConnectionIp = ConnectionIp;
	}

	public String getDescription() {
		return Description;
	}

	public void setDescription(String Description) {
		this.Description = Description;
	}

	public String getCode() {
		return Code;
	}

	public void setCode(String Code) {
		this.Code = Code;
	}
	
	public void init(String path) throws Exception {
		LoadQZJXML(path);
	}

	/**
	 * 读取XML文件所有信息
	 */
	public ArrayList LoadQZJXML(String path) throws Exception {
		ArrayList xmlList = null;
		List qzj = null;
		Element node = null;
		Element nodechild = null;
		try {
			xmlList = new ArrayList();
			SAXBuilder sb = new SAXBuilder();
			Document doc = sb.build(new FileInputStream(path));
			Element root = doc.getRootElement(); //获取根节点
			qzj = root.getChildren(); //获取根节点下面的所有子元素
		} catch (Exception e) {
			e.printStackTrace();
		}
		for (int i = 0; i < qzj.size(); i++) {
			node = (Element) qzj.get(i);
			String xn = node.getName();
			if (xn.equals("strategy")) {
				instance.setStrategy(node.getText());
				xmlList.add(instance.getStrategy());
				continue;
			}
			if (xn.equals("tcpip")) {
				instance.setSendTimeout(node.getChild("send-timeout").getText());
				xmlList.add(instance.getSendTimeout());

				instance.setReceiveTimeout(node.getChild("receive-timeout")
						.getText());
				xmlList.add(instance.getReceiveTimeout());

				instance.setConnectionPort(node.getChild("connection-port")
						.getText());
				xmlList.add(instance.getConnectionPort());

				instance.setListenerPort(node.getChild("listener-port").getText());
				xmlList.add(instance.getListenerPort());

				instance.setConnectionIp(node.getChild("connection-ip").getText());
				xmlList.add(instance.getConnectionIp());

				instance.setSignonNotify(node.getChild("signon-notify").getText());

				instance.setSignonIp(node.getChild("signon-ip").getText());

				instance.setSignonPort(node.getChild("signon-port").getText());

				continue;
			}
			if (xn.equals("infos")) {
				nodechild = node.getChild("info");

				instance.setDescription(nodechild.getChild("description").getText());
				xmlList.add(instance.getDescription());

				instance.setCode(nodechild.getChild("code").getText());
				xmlList.add(instance.getCode());

				continue;
			}
		}
		return xmlList;
	}

	/**
	 * 修改XML文件指定信息
	 */
	public boolean EditXML(ArrayList lt, String path) throws Exception {
		ArrayList xmlList = null;
		try {
			xmlList = new ArrayList();
			SAXBuilder sb = new SAXBuilder();
			Document doc = sb.build(new FileInputStream(path));
			Element root = doc.getRootElement(); //获取根节点
			List qzj = root.getChildren(); //获取根节点下面的所有子元素
			for (int i = 0; i < qzj.size(); i++) {
				Element node1 = (Element) qzj.get(i);
				String xm = node1.getName();
				if (xm.equals("strategy")) {
					node1.setText((String) lt.get(0));
					continue;
				} else if (xm.equals("tcpip")) {
					node1.getChild("send-timeout").setText((String) lt.get(1));
					node1.getChild("receive-timeout").setText(
							(String) lt.get(2));
					node1.getChild("listener-port").setText((String) lt.get(3));
					node1.getChild("connection-ip").setText((String) lt.get(4));
					node1.getChild("connection-port").setText(
							(String) lt.get(5));
					continue;
				} else if (xm.equals("infos")) {
					Element node2 = node1.getChild("info");
					node1.getChild("description").setText((String) lt.get(6));
					node1.getChild("code").setText((String) lt.get(7));
					
					continue;
				}
			}
			Format format = Format.getPrettyFormat();
			format.setEncoding("GB2312");
			XMLOutputter outp = new XMLOutputter();
			outp.setFormat(format);
			outp.output(doc, new FileOutputStream(path));
			return true;
		} catch (Exception e) {
			e.printStackTrace();
			return false;
		}
	}

	public String getSignonIp() {
		return signonIp;
	}

	public void setSignonIp(String signonIp) {
		this.signonIp = signonIp;
	}

	public String getSignonPort() {
		return signonPort;
	}

	public void setSignonPort(String signonPort) {
		this.signonPort = signonPort;
	}

	public String getSignonNotify() {
		return signonNotify;
	}

	public void setSignonNotify(String signonNotify) {
		this.signonNotify = signonNotify;
	}

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -