我也是这么写的呀。代码如下: package tools;import java.io.BufferedOutputStream; import java.io.FileOutputStream; import java.util.ArrayList; import java.util.List;import org.jdom.Document; import org.jdom.Element; import org.jdom.output.Format; import org.jdom.output.XMLOutputter;import pojo.Computerroom;public class OutXML { public void outXML(Computerroom room,List list){ Format format = Format.getCompactFormat(); format.setIndent(" ");
XMLOutputter outputter = new XMLOutputter(); FileOutputStream stream; try { stream = new FileOutputStream("d:/room.xml"); BufferedOutputStream outputStream = new BufferedOutputStream(stream);
//ÉèÖøùÔªËØ Element root = new Element(room.toString()); Document document = new Document(); document.setRootElement(root); List list2 = new ArrayList();
for(int i=0;i<list.size();i++){ Element id = new Element("ID"); id.setText(((Computerroom)list.get(i)).getId().toString() ); Element No = new Element("roomNo"); No.setText(((Computerroom)list.get(i)).getRoomno()); Element Name = new Element("roomName"); Name.setText(((Computerroom)list.get(i)).getRoomname()); Element deptId = new Element("deptId"); deptId.setText(((Computerroom)list.get(i)).getDept().getId().toString()); Element Addr = new Element("roomAdd"); Addr.setText(((Computerroom)list.get(i)).getRoomaddr()); Element Note = new Element("roomNote"); Note.setText(((Computerroom)list.get(i)).getRe()); list2.add(id); list2.add(No); list2.add(Name); list2.add(deptId); list2.add(Addr); list2.add(Note); root.setContent(list2); } outputter.output(document, outputStream);
package tools;import java.io.BufferedOutputStream;
import java.io.FileOutputStream;
import java.util.ArrayList;
import java.util.List;import org.jdom.Document;
import org.jdom.Element;
import org.jdom.output.Format;
import org.jdom.output.XMLOutputter;import pojo.Computerroom;public class OutXML { public void outXML(Computerroom room,List list){
Format format = Format.getCompactFormat();
format.setIndent(" ");
XMLOutputter outputter = new XMLOutputter();
FileOutputStream stream;
try {
stream = new FileOutputStream("d:/room.xml");
BufferedOutputStream outputStream = new BufferedOutputStream(stream);
//ÉèÖøùÔªËØ
Element root = new Element(room.toString());
Document document = new Document();
document.setRootElement(root);
List list2 = new ArrayList();
for(int i=0;i<list.size();i++){
Element id = new Element("ID");
id.setText(((Computerroom)list.get(i)).getId().toString() );
Element No = new Element("roomNo");
No.setText(((Computerroom)list.get(i)).getRoomno());
Element Name = new Element("roomName");
Name.setText(((Computerroom)list.get(i)).getRoomname());
Element deptId = new Element("deptId");
deptId.setText(((Computerroom)list.get(i)).getDept().getId().toString());
Element Addr = new Element("roomAdd");
Addr.setText(((Computerroom)list.get(i)).getRoomaddr());
Element Note = new Element("roomNote");
Note.setText(((Computerroom)list.get(i)).getRe());
list2.add(id);
list2.add(No);
list2.add(Name);
list2.add(deptId);
list2.add(Addr);
list2.add(Note);
root.setContent(list2);
}
outputter.output(document, outputStream);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
文件也一起帖出来啊,不然大家怎么帮你看代码呢?
每次循环都把上一次循环的内容覆盖了
root.setContent(list2);至少是用addContent()吧