如果事实证明我只是为您做功课,我会感到非常恼火。
package com.akonizo.examples;import java.io.ByteArrayInputStream;import java.io.StringWriter;import javax.xml.parsers.documentBuilder;import javax.xml.parsers.documentBuilderFactory;import javax.xml.transform.OutputKeys;import javax.xml.transform.Transformer;import javax.xml.transform.TransformerFactory;import javax.xml.transform.dom.DOMSource;import javax.xml.transform.stream.StreamResult;import org.w3c.dom.document;import org.w3c.dom.Element;import org.w3c.dom.Node;import org.w3c.dom.Text;public class XmlInsertExample { public static void main(String[] args) { String initial = "<root><param value="abc"/><param value="bc"/></root>"; try { // Parse the initial document ByteArrayInputStream is = new ByteArrayInputStream(initial.getBytes()); documentBuilderFactory dbf = documentBuilderFactory.newInstance(); documentBuilder db = dbf.newdocumentBuilder(); document doc = db.parse(is); // Create the new xml fragment Text a = doc.createTextNode("afds"); Node p = doc.createElement("parameterDesc"); p.appendChild(a); Node i = doc.createElement("insert"); i.appendChild(p); Element r = doc.getdocumentElement(); r.insertBefore(i, r.getFirstChild()); r.normalize(); // Format the xml for output Transformer transformer = TransformerFactory.newInstance().newTransformer(); transformer.setOutputProperty(OutputKeys.INDENT, "yes"); // initialize StreamResult with File object to save to file StreamResult result = new StreamResult(new StringWriter()); DOMSource source = new DOMSource(doc); transformer.transform(source, result); System.out.println(result.getWriter().toString()); } catch (Exception e) { e.printStackTrace(); } }}
结果将是:
<?xml version="1.0" encoding="UTF-8" standalone="no"?><root> <insert> <parameterDesc>afds</parameterDesc> </insert> <param value="abc"/> <param value="bc"/></root>
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)