package com.xml;
import java.io.File;
import java.io.IOException;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
import javax.xml.transform.Source;
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 org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.Text;
public class CreatXML {
String filename;
DocumentBuilderFactory factory;
DocumentBuilder builder;
Document doc;
public CreatXML(String filename)throws ParserConfigurationException{
this.filename=filename;
factory=DocumentBuilderFactory.newInstance();
builder=factory.newDocumentBuilder();
doc=builder.newDocument();
}
public void setChildTxt(String childtxt,Element father){
Text txt=doc.createTextNode(childtxt);
father.appendChild(txt);
}
public Element setChild(String child,Element father){
Element newChild=doc.createElement(child);
father.appendChild(newChild);
return newChild;
}
public Document getDoc(){
return doc;
}
//生成xml文件
public boolean creat(){
boolean ret= false;
//创建文件
File file=new File(filename);
String path=file.getPath();
System.out.println("path="+path);
if(!file.exists()||!file.isFile()){
try {
file.createNewFile();
} catch (IOException e) {
e.printStackTrace();
}
}
StreamResult streamResult=new StreamResult(file);
Source inputSource=new DOMSource(doc);
TransformerFactory transformerFactory=TransformerFactory.newInstance();
Transformer transformer;
try {
transformer=transformerFactory.newTransformer();
transformer.transform(inputSource, streamResult);
ret=true;
} catch (TransformerConfigurationException e) {
e.printStackTrace();
}catch(TransformerException e){
e.printStackTrace();
}
return ret;
}
public static void main(String[] args) {
try {
CreatXML xml=new CreatXML("C://dd.xml/");
boolean flag=xml.creat();
System.out.println(flag);
} catch (ParserConfigurationException e) {
// TODO 自动生成 catch 块
e.printStackTrace();
}
}
}