加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

一个简单方法:构造xml的document,并将其转换为string

发布时间:2020-12-16 09:15:03 所属栏目:百科 来源:网络整理
导读:首先,构造一个document对象 : Document doc = null;try { doc = DocumentBuilderFactory.newInstance().newDocumentBuilder().newDocument();} catch (ParserConfigurationException e) { e.printStackTrace(); return null;} 然后,在doc中加入需要的节点

首先,构造一个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();
	}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读