解析xml——采用Jdom与dom4J方式写入xml文档
解析文档我们已经了解了读取的两种方法,那么将数据写入xml文档时的方式有怎么样?下面我将我所了解的两种方式介绍给大家。
一.采用jdom方式写入数据:
同样的要先导入org.jdom.jar这个包
1 import java.io.FileOutputStream; 2 import org.jdom.Document; 3 import org.jdom.Element; 4 import org.jdom.output.Format; 5 import org.jdom.output.XMLOutputter; 6 7 /** 8 * 解析xml 9 * 采用jdom方式向文件中写入一个xml文档 10 * @author dell 11 * 12 */ 13 public class WriteXMLCopy { 14 15 public static void main(String[] args) { 16 17 //1.创建一个根节点 18 Element root=new Element("people"); 19 20 //2.创建子节点 21 Element name=new Element("name"); 22 23 Element sex=new Element("sex"); 24 25 Element age=new Element("age"); 26 27 //3.给各个节点添加内容或属性 28 name.setText("张三").setAttribute("Id","001"); 29 sex.setText("male"); 30 age.setText("23"); 31 32 //4.添加各个节点的关系 33 root.addContent(name).addContent(sex).addContent(age); 34 35 //5.将节点转换为document文档对象 36 Document doc=new Document(root); 37 38 //6.格式化 39 Format fmt=Format.getCompactFormat(); 40 41 fmt.setEncoding("UTF-8");//设置编码格式 42 43 fmt.setIndent(" ");//设置缩进 44 45 //7.写入数据 46 XMLOutputter out=new XMLOutputter(fmt); 47 try { 48 49 out.output(doc, new FileOutputStream("g:/people.xml")); 50 51 System.out.println("success"); 52 53 } catch (Exception e) { 54 55 e.printStackTrace(); 56 } 57 58 } 59 }
二.采用dom4j方式写入:
同样的要先导入:org.dom4j-1.6.1.jar这个包
1 import java.io.FileOutputStream; 2 import org.dom4j.Document; 3 import org.dom4j.DocumentHelper; 4 import org.dom4j.Element; 5 import org.dom4j.io.OutputFormat; 6 import org.dom4j.io.XMLWriter; 7 8 /** 9 * 解析xml 10 * 采用dom4j方式将数据写入xml 11 * @author dell 12 * 13 */ 14 public class WriteXML{ 15 16 public static void main(String[] args) { 17 18 //1.创建一个document的对象 19 Document doc=DocumentHelper.createDocument(); 20 21 //2.创建根节点 22 Element root=doc.addElement("people"); 23 24 //3.添加子节点 25 root.addElement("name").addAttribute("no", "001"); 26 root.addElement("sex").addText("男"); 27 root.addElement("age").addText("90"); 28 29 30 //4.格式化 31 OutputFormat opFmt=new OutputFormat(); 32 33 opFmt.setEncoding("UTF-8");//设置编码格式 34 35 opFmt.setIndentSize(4);//设置缩进 36 37 opFmt.setNewlines(true);//设置换行 38 39 try { 40 41 //向文件夹中写入数据 42 XMLWriter writer=new XMLWriter(new FileOutputStream("g:/Peole.xml"),opFmt); 43 44 writer.write(doc); 45 46 System.out.println("OK"); 47 48 } catch (Exception e) { 49 50 e.printStackTrace(); 51 } 52 53 54 55 56 } 57 }