java代码写xml文件

1.代码:

package conn;
import java.io.*;
import javax.xml.parsers.*;
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamResult;
import org.xml.sax.*;
import org.w3c.dom.*;
public class witexml {
public static void main(String[] args) throws Exception {
DocumentBuilderFactory  fct=DocumentBuilderFactory.newInstance();
DocumentBuilder bui=fct.newDocumentBuilder();
Document doc=bui.newDocument();
Element ps=doc.createElement("persons");
Element p1=doc.createElement("person");
Element p2=doc.createElement("person");
Attr id1=doc.createAttribute("id");
Attr id2=doc.createAttribute("id");
id1.setNodeValue("1");
id2.setNodeValue("2");
Element name1=doc.createElement("name");
Text na1=doc.createTextNode("龙大哥");
Element name2=doc.createElement("name");
Text na2=doc.createTextNode("龙大爷");
Element sex1=doc.createElement("sex");
Text se1=doc.createTextNode("帅哥");
Element sex2=doc.createElement("sex");
Text se2=doc.createTextNode("妹子");
doc.appendChild(ps);
ps.appendChild(p1);
p1.appendChild(name1);
p1.setAttributeNode(id1);
name1.appendChild(na1);
p1.appendChild(sex1);
sex1.appendChild(se1);
ps.appendChild(p2);
p2.appendChild(name2);
p2.setAttributeNode(id2);
name2.appendChild(na2);
p2.appendChild(sex2);
sex2.appendChild(se2);
doc2XmlFile(doc,"pet.xml");
}
public static boolean doc2XmlFile(Document document, String filename) {//实现doc2XmlFile方法
boolean flag = true;
try {
TransformerFactory tFactory = TransformerFactory.newInstance();//生成TransformerFactory实例
Transformer transformer = tFactory.newTransformer();
/** 编码 */
// transformer.setOutputProperty(OutputKeys.ENCODING, "GB2312");
DOMSource source = new DOMSource(document);
StreamResult result = new StreamResult(new File(filename));
transformer.transform(source, result);//写入xml文件
} catch (Exception ex) {
flag = false;
ex.printStackTrace();
}
return flag;
}
}

结果:

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<persons>
<person id="1">
<name>龙大哥</name>
<sex>帅哥</sex>
</person>
<person id="2">
<name>龙大爷</name>
<sex>妹子</sex>
</person>
</persons>


http://zhidao.baidu.com/link?url=FMgU0KaJ2tzggbm2Csz5dO73XZ8Z80u39L-wjDmKVUMmIe7Yxj5Lt9HUAmSavj1M5BVuv2imqa_qa4ytMHO6KK

http://www.codefans.net/article/sort/list_5_13.shtml

代码2.

package conn;
import java.io.File;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
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.Text;


public class CreateXML {
public static void main(String[] args) throws Exception {
//实例化解析器
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder = factory.newDocumentBuilder();
//创建Document对象
Document doc = builder.newDocument();


//创建XML文件所需的各种对象并序列化
Element root = doc.createElement("root");//创建根节点
Element name = doc.createElement("name");//创建name节点
Text nameText = doc.createTextNode("zs");//给name节点赋值
name.appendChild(nameText);//把nametext节点加到name节点下
root.appendChild(name);//把name节点加到root节点下
doc.appendChild(root);//把root节点加到doc文件中
name.setAttribute("id", "2");//给name节点赋属性id
doc2XmlFile(doc,"test.xml");//把信息写入test.xml文件 doc2XmlFile方法
}
public static boolean doc2XmlFile(Document document, String filename) {//实现doc2XmlFile方法
boolean flag = true;
try {
TransformerFactory tFactory = TransformerFactory.newInstance();//生成TransformerFactory实例
Transformer transformer = tFactory.newTransformer();
/** 编码 */
// transformer.setOutputProperty(OutputKeys.ENCODING, "GB2312");
DOMSource source = new DOMSource(document);
StreamResult result = new StreamResult(new File(filename));
transformer.transform(source, result);//写入xml文件
} catch (Exception ex) {
flag = false;
ex.printStackTrace();
}
return flag;
}

结果2:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值