package com.banking.xc.utils.xml.frame; import java.util.ArrayList; import java.util.HashMap; import java.util.Iterator; import java.util.List; import java.util.Map; import java.util.Map.Entry; /** * * @author banking * */ public class XmlNode { private String name; private List<XmlNode> xmlNodeList = new ArrayList<XmlNode>(); private Map<String,String> attributesMap = new HashMap<String,String>(); /** * inner和xmlNodeList只可以有一项 */ private String innerValue; public XmlNode(String name){ this.name = name; } public XmlNode(String name,String innerValue){ this.name = name; this.innerValue = innerValue; } @Deprecated public void setInnerValue(String innerValue){ this.innerValue = innerValue; } public void addChildNode(XmlNode node){ xmlNodeList.add(node); } public void putAttribute(String key,String value){ attributesMap.put(key, value); } public String toString(){ StringBuffer sb = new StringBuffer(); sb.append("<"+name); for(Entry<String, String> i:attributesMap.entrySet()){ sb.append(" "+i.getKey()+"=\""+i.getValue()+"\""); } sb.append(">"); if(innerValue!=null){ sb.append(innerValue); }else{ for(XmlNode node:xmlNodeList) { sb.append(node.toString()); } } sb.append("</"+name+">"); return sb.toString(); } public void addNodeByNameAndValue(String name,String innerValue){ final XmlNode node = new XmlNode(name); node.setInnerValue(innerValue); this.addChildNode(node); } /* public class XmlNodeAttribute{ } */ }