去除TOMCAT SERVER.XML中的注释

import java.util.ArrayList;
import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;


public class XmlTomcatUtil {

	// 系统日志类
		private static SystemLog systemLog = new SystemLog(XmlTomcatUtil.class);
 
	/**
	 * 替换获得的结果中的所有注释
	 * 例如 
	 * 输入
	 * <?xml version="1.0" encoding="UTF-8"?>
     * <!-- Note:  A "Server" is not itself a "Container", so you may not
     * define subcomponents such as "Valves" at this level.
     * Documentation at /docs/config/server.html
     * --><Server port="8005" shutdown="SHUTDOWN">
     * 输出
     * <?xml version="1.0" encoding="UTF-8"?>
     * <Server port="8005" shutdown="SHUTDOWN">
	 * @param str 输入字符串
	 * @return
	 */
	public static String getRegex(String str){
		
		try {
            
			 Pattern p = Pattern.compile("<!--[^-]*-->",Pattern.DOTALL);
			 Matcher matcher = p.matcher(str); 
		     List<String> strList = new ArrayList<String>();
			
		     //记录发现的错误结果值
			 while (matcher.find()) {
				 strList.add(matcher.group());
		     }
			 
			 for (String arg : strList) {
				str = str.replaceAll(arg, "");
			 }
			
		} catch (Exception e) {
			systemLog.error("XmlUtil.getRegex", "替换所有的注释字符", e);
		}
		return str;
	}
}




你可能感兴趣的:(java)