zoukankan      html  css  js  c++  java
  • 一个简单方法:构造xml的document,并将其转换为string

        首先,构造一个document对象

    	Document doc = null;
    	try {
                doc = DocumentBuilderFactory.newInstance()
    				.newDocumentBuilder().newDocument();
    	} catch (ParserConfigurationException e) {
            e.printStackTrace();
            return null;
    	}
        然后,在doc中加入需要的节点,例如:
    	Element register = doc.createElement("Register");
    	register.setAttribute("id", REGISTER_ATTRIB_ID);
    	register.setAttribute("type", REGISTER_ATTRIB_TYPE);
    	doc.appendChild(register);
    		
    	Element params = doc.createElement("Params");
    	register.appendChild(params);
    
            Element item = doc.createElement(tagName);
            item.appendChild(doc.createTextNode(textNode));
            params.appendChild(item);
    
        最后,将document对象转换成字符串
    	public static String convertDocToString(Document doc, String propertyName, String progertyValue){
    		Transformer transformer = null;
    		try {
    			transformer = TransformerFactory.newInstance().newTransformer();
    		} catch (TransformerConfigurationException e) {
    			e.printStackTrace();
    			return null;
    		} catch (TransformerFactoryConfigurationError e) {
    			e.printStackTrace();
    			return null;
    		}
    		transformer.setOutputProperty(propertyName, progertyValue);
    		DOMSource domSource = new DOMSource(doc);
    		StreamResult streamResult = new StreamResult();
    		
    		ByteArrayOutputStream os = new ByteArrayOutputStream();
    		streamResult.setOutputStream(os);
    		try {
    			transformer.transform(domSource, streamResult);
    		} catch (TransformerException e) {
    			e.printStackTrace();
    			return null;
    		} finally {
    			try {
    				os.flush();
    				os.close();
    			} catch (Exception e2) {
    				e2.printStackTrace();
    			}
    		}
    		
    		return os.toString();
    	}






    
    

  • 相关阅读:
    codeforces 261B Maxim and Restaurant(概率DP)
    洛谷P3066 [USACO12DEC]逃跑的Barn (线段树合并)
    洛谷P1600 天天爱跑步(线段树合并)
    AtCoder
    SPOJ10606 BALNUM
    洛谷P3567[POI2014]KUR-Couriers(主席树+二分)
    洛谷P2633 Count on a tree(主席树上树)
    【.Net边角料系列】1-单例模式(我真不是你想的那样)
    生成二维码的开源工具对比(附源码了呀!)
    你所不知道的linq(二)
  • 原文地址:https://www.cnblogs.com/yuanchongjie/p/4448368.html
Copyright © 2011-2022 走看看