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

📄 xmlutils.java

📁 利用jxl和jdom到报表用的,可以自定义excel模板
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
package com.glf.reportIE.commons;

import java.io.*;  
import java.util.*;  
import org.dom4j.*;
import org.dom4j.io.*;
import org.jdom.*;  
import org.jdom.Attribute;
import org.jdom.Document;
import org.jdom.Element;
import org.jdom.input.*;  
import org.jdom.output.*;

public class XmlUtils {
	/** 
	*利用冒泡排序法对数组排序,取出最大的一个数
	*/ 
	public static int getMaxNumber(ArrayList arraylist){
		String temp = "";
		if(arraylist.isEmpty()){
			temp = "0";
		}else{
			String[] temp2 = new String[arraylist.size()];
			for(int m=0;m<arraylist.size();m++){
				temp2[m]=arraylist.get(m).toString();
			}
			for(int j=temp2.length-1;j>0;j--){
				for(int i=0;i<j;i++){
					if(Integer.parseInt(temp2[i]) < Integer.parseInt(temp2[i+1])){
						String temp3 = temp2[i];
						temp2[i] = temp2[i+1];
						temp2[i+1] = temp3;
					}
				}
			}
			temp = temp2[0];
		}
		return Integer.parseInt(temp);
	}
	
	/**
	 * 转换编码
	 */
//	public static Element parse(String xmlString) throws IOException{
//		try{
//			return parse(new ByteArrayInputStream(xmlString.getBytes()));
//		}catch (Exception e){
//			e.printStackTrace();
//		}
//	}
	
	/**
	 * 根据节点名字删除所有是这个名字的节点
	 */
	public static void removeSameNodeName(String xmlPath,String nodeName){
		try {
			SAXBuilder builder = new SAXBuilder(false);
			Document doc = builder.build(xmlPath);
			Element root = doc.getRootElement();   
			root.removeChild(nodeName);	
			Format format = Format.getPrettyFormat();
			format.setIndent("	");
			format.setEncoding("UTF-8");
			XMLOutputter outputter=new XMLOutputter(format);
			outputter.output(doc,new FileOutputStream(xmlPath));
			//outputter.output(root.getDocument(), new BufferedWriter(new FileWriter(xmlPath)));
		}catch(Exception e) {
			e.printStackTrace();
		}
	}
	
	/**
	 * 根据属性值的唯一来删除xml文件中这一条记录
	 */
	public static void removeOneNodeName(String xmlPath,String nodeName,String onlyId,String onlyValue){
		try {
			SAXBuilder builder = new SAXBuilder(false);
			Document doc =  builder.build(xmlPath);
			Element root = doc.getRootElement();   
			List rootlist = root.getChildren(nodeName);
			for(int i=0; i < rootlist.size() ; i++){
				Element book = (Element) rootlist.get(i);
				String temp = book.getAttributeValue(onlyId);
				if(temp.equals(onlyValue)){
					root.removeContent(book);
				}
			}
			Format format = Format.getPrettyFormat();
			format.setIndent("	");
			format.setEncoding("UTF-8");
			XMLOutputter outputter=new XMLOutputter(format);
			outputter.output(doc,new FileOutputStream(xmlPath));
			//outputter.output(root.getDocument(), new BufferedWriter(new FileWriter(xmlPath)));
		}catch(Exception e) {
			e.printStackTrace();
		}
	}
	
	/**
	 * 根据属性值判断该属性在xml文件里是否存在
	 */
	public static boolean fieldIsExits(String xmlPath,String nodeName,String oneId){
		boolean flag = false;
		boolean flag2 = XmlUtils.fileIsExits(xmlPath);
		SAXBuilder builder = new SAXBuilder(false);
		try {
			if(flag2){
				Document doc = builder.build(xmlPath);
				Element books = doc.getRootElement();
				List booklist = books.getChildren(nodeName);
				for(int i=0; i < booklist.size() ; i++){
					Element book = (Element) booklist.get(i);
					String temp = book.getAttributeValue(oneId);
					if(temp != null && temp.length()>0){
						flag = true;
					}
				}
			}else{
				flag = false;
			}				
		} catch (Exception e) {
			e.printStackTrace();
		}
		return flag;
	}
	
	/**
	 * 根据属性值修改一个xml文件的值
	 */
	public static void editToXml(String xmlPath,String nodeName,String only,String oneId,String oneValue,String twoId,String twoValue,String threeId,String threeValue){
		//Locale.setDefault(new Locale("zh_CN.utf8"));
		SAXBuilder builder = new SAXBuilder(false);
		try {
			Document doc = builder.build(xmlPath);
			Element books = doc.getRootElement();
			List booklist = books.getChildren(nodeName);
			for(int i=0; i < booklist.size() ; i++){
				Element book = (Element) booklist.get(i);
				String temp = book.getAttributeValue(oneId);
				if(temp.equals(only)){
					book.setAttribute(oneId, oneValue);
					book.setAttribute(twoId, twoValue);
					book.setAttribute(threeId, threeValue);
				}
			}
			Format format = Format.getPrettyFormat();
			format.setIndent("	");
			format.setEncoding("UTF-8");
			XMLOutputter outputter=new XMLOutputter(format);
			outputter.output(doc,new FileOutputStream(xmlPath));			
		} catch (Exception e) {
			e.printStackTrace();
		}
	}
	
	/**
	 * 根据属性值得到另外一个属性的值
	 */
	public static String getOtherAttributeValue(String xmlPath,String nodeName,String oneId,String only,String twoId){
		//Locale.setDefault(new Locale("zh_CN.utf8"));
		String tempStr = "";
		SAXBuilder builder = new SAXBuilder(false);
		try {
			if(XmlUtils.fileIsExits(xmlPath)){
				Document doc = builder.build(xmlPath);
				Element books = doc.getRootElement();
				List booklist = books.getChildren(nodeName);
				for(int i=0; i < booklist.size() ; i++){
					Element book = (Element) booklist.get(i);
					String temp = book.getAttributeValue(oneId);
					if(temp.equals(only)){
						tempStr = book.getAttributeValue(twoId);
					}
				}
				Format format = Format.getPrettyFormat();
				format.setIndent("	");
				format.setEncoding("UTF-8");
				XMLOutputter outputter=new XMLOutputter(format);
				outputter.output(doc,new FileOutputStream(xmlPath));
			}else{
				tempStr = "";
			}
		} catch (Exception e) {
			e.printStackTrace();
		}
		return tempStr;
	}
	
//	/**
//	 * 根据属性值修改一个excelFormName.xml文件的值
//	 */
//	public static void editFormNameXml(String xmlPath,String nodeName,String only,String oneId,String oneValue,String twoId,String twoValue){
//		//Locale.setDefault(new Locale("zh_CN.utf8"));
//		SAXBuilder builder = new SAXBuilder(false);
//		try {
//			Document doc = builder.build(xmlPath);
//			Element books = doc.getRootElement();
//			List booklist = books.getChildren(nodeName);
//			for(int i=0; i < booklist.size() ; i++){
//				Element book = (Element) booklist.get(i);
//				String temp = book.getAttributeValue(oneId);
//				if(temp.equals(only)){
//					book.setAttribute(oneId, oneValue);
//					book.setAttribute(twoId, twoValue);
//				}
//			}
//			Format format = Format.getPrettyFormat();
//			format.setIndent("	");
//			format.setEncoding("UTF-8");
//			XMLOutputter outputter=new XMLOutputter(format);
//			outputter.output(doc,new FileOutputStream(xmlPath));			
//		} catch (Exception e) {
//			e.printStackTrace();
//		}
//	}
	
	/**
	 * 在已有的xml文件上追加新的内容(针对只在属性里赋值的情况)
	 */
	public static void addToXml(String xmlPath,String nodeName,String oneId,String oneValue,String twoId,String twoValue,String threeId,String threeValue){
		try {
			//Locale.setDefault(new Locale("zh_CN.utf8"));
			SAXBuilder builder = new SAXBuilder(false);
			Document doc = builder.build(xmlPath);
			Element root = doc.getRootElement();  
			root.addContent(new Element(nodeName).setAttribute(oneId,oneValue).setAttribute(twoId,twoValue).setAttribute(threeId,threeValue));		
			Format format = Format.getPrettyFormat();
			format.setIndent("	");
			format.setEncoding("UTF-8");
			XMLOutputter outputter = new XMLOutputter(format);
			//outputter.output(doc, new BufferedWriter(new FileWriter(xmlPath)));
			outputter.output(doc,new FileOutputStream(xmlPath));
		}catch(Exception e) {
			e.printStackTrace();
		}	
	}
	
//	/**

⌨️ 快捷键说明

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