您的位置:首页 > 编程语言 > Java开发

java 生成xml文件

2016-05-15 12:14 357 查看
这里也使用的是import org.w3c.dom.Document;

首先创建document对象,给该对象赋值,然后将document对象使用transformer的transformer转换方法转换成文件或者其他类型进行想要的操作。

1、创建DocumentBuilder对象

DocumentBuilderFactory documentBuilderFactory=DocumentBuilderFactory.newInstance();
DocumentBuilder    documentBuilder = documentBuilderFactory.newDocumentBuilder();


2、创建Document对象并赋值


DocumentBuilder的api:http://download.oracle.com/technetwork/java/javase/6/docs/zh/api/javax/xml/parsers/DocumentBuilder.html#parse%28java.lang.String%29



Document document=documentBuilder.parse(uri);//我这里使用的是parse方法解析uri地址的文件内容,将该内容转换成字符串


//这里使用的是新建空的document,然后给document填充内容,发现document的子节点都是使用appendChildNode()一层层加上去的,控件使用的都是document
。createElement得到Element对象。setTextContent给标签内容赋值
Document document=documentBuilder.newDocument();

Element root=document.createElement("language");
root.setAttribute("cat","it");
Element lan1=document.createElement("lan");
lan1.setAttribute("id", "1");
Element name1=document.createElement("name");
Element ide1=document.createElement("ide");
name1.setTextContent("java");
ide1.setTextContent("eclipes");
Element lan2=document.createElement("lan");
lan2.setAttribute("id", "2");
Element name2=document.createElement("name");
Element ide2=document.createElement("ide");
name2.setTextContent("Switf");
ide2.setTextContent("x-code");
Element lan3=document.createElement("lan");
lan1.setAttribute("id", "3");
Element name3=document.createElement("name");
Element ide3=document.createElement("ide");
name3.setTextContent("c#");
ide1.setTextContent("visual");
lan1.appendChild(name1);
lan1.appendChild(ide1);
lan2.appendChild(name2);
lan2.appendChild(ide2);
lan3.appendChild(name3);
lan3.appendChild(ide3);
root.appendChild(lan1);
root.appendChild(lan2);
root.appendChild(lan3);
document.appendChild(root);


创建document空对象并赋值例子:

3、转换document成xml文件

/* 生成transformer对象 */
TransformerFactory factory=TransformerFactory.newInstance();
Transformer transformer=factory.newTransformer();
StringWriter writer=new StringWriter(); /*字符输出流*/
transformer.transformer(new DOMSource(document),new StreamResult(writer));//将document中的值转换到输出流中
System.out.println(writer.toString());
File xmlfile=new File("newxml.xml");
transformer.transformer(new DOMSource(document),new StreamResult(xmlfile));//将document中的值写入file文件中,自动完成file文件的实体
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: