package com.ysten.distribute.web;
import java.io.ByteArrayOutputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.PrintWriter;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
import javax.xml.transform.OutputKeys;
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerConfigurationException;
import javax.xml.transform.TransformerException;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamResult;
import java.io.File;
import java.io.IOException;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
import org.xml.sax.SAXException;
import java.io.*;
public class MyXmlTest {
public static void main(String[] args)
{
MyXmlTest test = new MyXmlTest();
System.out.println(test.createStringFromXmlDoc());
}
public String createStringFromXmlDoc()
{
Document document;
String xmlret="";
try{
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder = factory.newDocumentBuilder();
document = builder.newDocument();
document.setXmlStandalone(true);
Element root = document.createElement("scores");
document.appendChild(root);
Element employee = document.createElement("employee");
Element name = document.createElement("name");
name.appendChild(document.createTextNode("wangchenyang"));
employee.appendChild(name);
Element sex = document.createElement("sex");
sex.appendChild(document.createTextNode("m"));
employee.appendChild(sex);
Element age = document.createElement("age");
age.appendChild(document.createTextNode("26"));
employee.appendChild(age);
root.appendChild(employee);
TransformerFactory transFactory = TransformerFactory.newInstance(); //开始把Document映射到文件
Transformer transFormer = transFactory.newTransformer();
DOMSource domSource = new DOMSource(document);
StringWriter writerStr = new StringWriter();
StreamResult resultStr = new StreamResult(writerStr);
transFormer.setOutputProperty(OutputKeys.ENCODING, "UTF-8");
transFormer.setOutputProperty(OutputKeys.INDENT, "yes");//这个地方在设置缩进
//transFormer.setOutputProperty(OutputKeys.STANDALONE, "yes");
transFormer.transform(domSource, resultStr);
xmlret=writerStr.getBuffer().toString();
System.out.println(xmlret);
}catch (Exception e) {
System.out.println(e.getMessage());
}
return xmlret;
}
}