?? xmlutils.java
字號:
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 + -