import java.io.File; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.io.UnsupportedEncodingException; import org.dom4j.Attribute; import org.dom4j.Document; import org.dom4j.DocumentException; import org.dom4j.DocumentHelper; import org.dom4j.Element; import org.dom4j.io.OutputFormat; import org.dom4j.io.SAXReader; import org.dom4j.io.XMLWriter; import org.junit.Test; public class writer3 { @Test
/**
創建xml 節點信息
*/ public void modify1(){ Document doc=DocumentHelper.createDocument(); Element rootelem=doc.addElement("contactList"); Element contactelem= rootelem.addElement("contact"); contactelem.addAttribute("id","001").addAttribute("name","eric"); //直接在節點上寫入屬性值 contactelem.addElement("name").addText("張三"); //增加標簽 name 內容是文本 contactelem.addElement("age").addText("20"); //增加標簽 age 內容屬於文本 //無論 是創建 ,修改,還是刪除后都要 寫出到文件中 FileOutputStream out=new FileOutputStream("e:/contact2.xml"); OutputFormat format = OutputFormat.createPrettyPrint(); format.setEncoding("utf-8"); XMLWriter writer= new XMLWriter(out,format); writer.write(doc); writer.close();
創建效果如下:
<?xml version="1.0" encoding="utf-8"?>
<contactList>
<contact id="001" name="eric">
<name>jimi</name>
<age>20</age>
</contact>
</contactList>
修改代碼段:
@Test public void modify3() throws Exception { //修改就這三行代碼 Document doc= new SAXReader().read(new File("e:/contact2.xml")); Element name=doc.getRootElement().element("contact").element("name"); name.setText("jimi");
FileOutputStream out = new FileOutputStream("e:/contact2.xml"); OutputFormat format = OutputFormat.createPrettyPrint(); format.setEncoding("utf-8"); XMLWriter writer = new XMLWriter(out,format); writer.write(doc); writer.close(); }
