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

📄 cfgxmlparser.java

📁 java 实现DOMINO远程连接
💻 JAVA
字号:
package com.cjsc.it.xml;

import java.io.File;
import java.io.FileInputStream;
import java.util.Vector;

import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;

import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;

/**
 * 
 * @author ikhelen (iking & helen) <br>
 *         <b>功能描述 <b>: <br>
 *         <b>实现思路 <b>: <br>
 *         <b>用例说明 <b>: <br>
 *         iking7712@hotmail.com <br>
 *         18700291 from jx. 2007-3-18 下午03:37:00
 */
public class CfgXMLParser {
	private static CfgInfo cfgInfo = null;
	private static final String USER_NAME = "userName";

	private static final String PASSWORD = "password";

	private static final String HOST_NAME = "host";

	private static final String DOMINO_POOLS = "DominoPools";

	private static final String DOMINO_POOL = "DominoPool";

	private static final String MAX_POOL_NUM = "maxPoolNum";

	public static Element loadDocument(String location) {
		Document doc = null;
		try {
			DocumentBuilderFactory docBuilderFactory = DocumentBuilderFactory
					.newInstance();
			DocumentBuilder parser = docBuilderFactory.newDocumentBuilder();
			File xmlFile = new File(location);
			doc = parser.parse(new FileInputStream(xmlFile));
			Element root = doc.getDocumentElement();
			root.normalize();
			return root;
		} catch (Exception err) {

		}
		return null;
	}

	public static CfgInfo loadCfgInfo(String location) {
		cfgInfo = new CfgInfo();
		Element root = loadDocument(location);
		loadDominoPoolInfo(root);
		return cfgInfo;
	}

	public static Vector getSQlValue(Node node, String subTagName) {
		Vector sqls = new Vector();
		if (node != null) {
			NodeList children = node.getChildNodes();
			for (int innerLoop = 0; innerLoop < children.getLength(); innerLoop++) {
				Node child = children.item(innerLoop);
				if ((child != null) && (child.getNodeName() != null)
						&& child.getNodeName().equals(subTagName)) {
					Node grandChild = child.getFirstChild();
					if (grandChild.getNodeValue() != null)
						sqls.addElement(grandChild.getNodeValue().trim());
				}
			} // end inner loop
		}
		return sqls;
	}

	private static void loadDominoPoolInfo(Element root) {
		String tagName = CfgXMLParser.DOMINO_POOLS;
		String subTagName = CfgXMLParser.DOMINO_POOL;

		NodeList list = root.getElementsByTagName(tagName);
		for (int loop = 0; loop < list.getLength(); loop++) {
			Node node = list.item(loop);
			if (node != null) {
				NodeList children = node.getChildNodes();
				for (int innerLoop = 0; innerLoop < children.getLength(); innerLoop++) {
					Node child = children.item(innerLoop);
					if ((child != null) && (child.getNodeName() != null)
							&& child.getNodeName().equals(subTagName)) {
						if (child instanceof Element) {
							DominoPoolInfo dominoPoolInfo = new DominoPoolInfo();
							dominoPoolInfo.setHost(((Element) child)
									.getAttribute(CfgXMLParser.HOST_NAME)
									.trim());
							dominoPoolInfo.setUserName(((Element) child)
									.getAttribute(CfgXMLParser.USER_NAME)
									.trim());
							dominoPoolInfo
									.setPassword(((Element) child)
											.getAttribute(CfgXMLParser.PASSWORD)
											.trim());

							dominoPoolInfo.setMaxPoolNum(((Element) child)
									.getAttribute(CfgXMLParser.MAX_POOL_NUM)
									.trim());

							Node grandChild = child.getFirstChild();
							if (grandChild.getNodeValue() != null) {
								dominoPoolInfo.setPoolName((grandChild)
										.getNodeValue().trim());
							}

							// 记入缓冲区
							cfgInfo.addDominoPoolInfo(dominoPoolInfo
									.getPoolName(), dominoPoolInfo);

						}
					}
				} // end inner loop

			}
		}

	}

	public static void main(String[] args) {
		String xml = System.getProperty("user.dir")
				+ System.getProperty("file.separator") + "domino.xml";
		System.out.println(xml);
		CfgInfo cfg = CfgXMLParser.loadCfgInfo(xml);
		DominoPoolInfo info = cfg.getDominoPoolInfo("10.0.16.1");
		System.out.println(info.getMaxPoolNum());
	}
}

⌨️ 快捷键说明

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