zoukankan      html  css  js  c++  java
  • 拼XML的工具类

    public class XmlStringer {
    	public XmlStringer() {
    		builder=new StringBuilder();
    	}
    	
    	private StringBuilder builder;
    	public XmlStringer startNode(String name){
    		builder.append("<"+name+">");
    		return this;
    	}
    	public XmlStringer endNode(String name){
    		builder.append("</"+name+">");
    		return this;
    	}
    	public XmlStringer attribute(String name,String value){
    		builder.replace(builder.length()-1, builder.length(), " "+name+"='"+value+"'>");
    		return this;
    	}
    	public XmlStringer attribute(String name,int value){
    		builder.replace(builder.length()-1, builder.length(), " "+name+"='"+value+"'>");
    		return this;
    	}
    	
    	public XmlStringer text(String text){
    		builder.append(text);
    		return this;
    	}
    	public XmlStringer text(int text){
    		builder.append(text);
    		return this;
    	}
    	public XmlStringer text(boolean text){
    		builder.append(text);
    		return this;
    	}
    	public XmlStringer text(byte[] data) {
    		builder.append(new String(data));
    		return this;
    		
    	}
    	public void clear(){
    		builder.delete(0, builder.length());
    	}
    	@Override
    	public String toString() {
    		return builder.toString();
    	}
    }
     
     
    用法:
    public static void main(String[] args) {
    		XmlStringer stringer=new XmlStringer();
    		stringer.startNode("tobacco");
    		stringer.attribute("action", "tasksave");
    		stringer.attribute("taskid", "000000000018878");
    			stringer.startNode("taskstatus");
    			stringer.text("2");
    			stringer.endNode("taskstatus");
    		
    		
    			stringer.startNode("subtask");
    			stringer.attribute("subtaskid", "77777777777");
    			stringer.attribute("subtaskstatus", "9");
    			stringer.attribute("type", "m2_0");
    			
    				stringer.startNode("biaozhun");
    				
    					stringer.startNode("appraise");
    					
    						stringer.startNode("selected_index");
    						stringer.text("0");
    						stringer.endNode("selected_index");
    						
    						stringer.startNode("comment");
    						stringer.text(1);
    						stringer.endNode("comment");
    					
    					stringer.endNode("appraise");
    				
    				stringer.endNode("biaozhun");
    			
    			
    			
    			stringer.endNode("subtask");
    		
    		stringer.endNode("tobacco");
    		System.out.println(stringer.toString());
    	}
  • 相关阅读:
    VMware三个版本workstation、server、esxi的区别
    vmwarevsphere与vmwareworkstation的区别
    PubMed、MEDLINE和PMC
    1000个并发线程,10台机器,每台机器4核,设计线程池大小(转)
    Internet与Intranet
    VMware安装操作系统鼠标失灵
    超详细SQL SERVER 2016跨网段和局域网发布订阅配置图解和常见问题
    一篇理解什么是CanSet, CanAddr?
    collection v1.3.1升级全记录
    我写的诗
  • 原文地址:https://www.cnblogs.com/ihou/p/2155073.html
Copyright © 2011-2022 走看看