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

来源:互联网 发布:闪电的利用知乎 编辑:程序博客网 时间:2024/06/05 08:11

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






0 0