用dom4j操作xml文件的时候,记得要导入dom4j.jar的jar包
import java.io.File;
import java.io.FileWriter;
import java.util.List;
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 com.newbbs.model.BbsUser;
import com.newbbs.utils.AppConf;
import com.newbbs.utils.DateUtil;
public class XMLOperation
{
/**
* 把用户的信息存放到xml
* @param user
* @return 操作成功或者失败
*/
public String writeObjectToXml(BbsUser user)
{
/** 建立document对象 */
Document document = DocumentHelper.createDocument();
/** 建立XML文档的根userInfo */
Element userElement = document.addElement("UserInfo");
/** 加入第一个userid节点 */
Element useridElement = userElement.addElement("userId");
useridElement.addText(user.getUserid());
/** 加入第二个userTitle节点 */
Element userTitleElement = userElement.addElement("userTitle");
userTitleElement.addText(user.getUsertitle());
/** 加入第三个userPass节点 */
Element userPassElement = userElement.addElement("userPass");
userPassElement.addText(user.getUserpass());
/** 加入第四个realName节点 */
Element realNameElement = userElement.addElement("realName");
realNameElement.addText(user.getRealname());
/** 加入第五个score节点 */
Element scoreElement = userElement.addElement("score");
scoreElement.addText(user.getScore().toString());
/** 加入第六个regTime节点 */
Element regTimeElement = userElement.addElement("regTime");
regTimeElement.addText(user.getRegTime().toString());
/** 加入第七个loginTime节点 */
Element loginTimeElement = userElement.addElement("loginTime");
loginTimeElement.addText(user.getLoginTime().toString());
/** 加入第八个posts节点 */
Element postsElement = userElement.addElement("posts");
postsElement.addText(user.getPosts().toString());
/** 加入第九个reposts节点 */
Element repostsElement = userElement.addElement("reposts");
repostsElement.addText(user.getReposts().toString());
/** 加入第十个lastPostTime节点 */
Element lastPostTimeElement = userElement.addElement("lastPostTime");
lastPostTimeElement.addText(user.getLastposttime().toString());
try
{
String file =AppConf.getconf().get("basePath")+"/newbss/userInfoXML/"+user.getUserid()+".xml";
/** 将document中的内容写入文件中 */
OutputFormat format = OutputFormat.createPrettyPrint();
format.setEncoding("gbk");
XMLWriter writer = new XMLWriter(new FileWriter(new File(file)),format);
writer.write(document);
writer.close();
return "写入XML成功";
}catch(Exception ex){
ex.printStackTrace();
return "写入XML失败";
}
}
public BbsUser readXmltoObject(String userid)
{
DateUtil dateUtil = new DateUtil();
String file = AppConf.getconf().get("basePath")+"/newbss/userInfoXML/"+userid+".xml";
SAXReader reader = new SAXReader();
try {
Document document = reader.read(new File(file));
Element root = document.getRootElement();
BbsUser user = new BbsUser();
List list = root.elements();
for(int i = 0; i < list.size(); i++)
{
Element element = (Element)list.get(i);
if(i == 0)
{
user.setUserid(element.getText());
continue;
}
if(i == 1)
{
user.setUsertitle(element.getText());
continue;
}
if(i == 2)
{
user.setUserpass(element.getText());
continue;
}
if(i == 3)
{
user.setRealname(element.getText());
continue;
}
if(i == 4)
{
user.setScore(new Integer(element.getText()));
continue;
}
if(i == 5)
{
user.setRegTime(dateUtil.getDateTimeFromStr(element.getText()));
continue;
}
if(i == 6)
{
user.setLoginTime(dateUtil.getDateTimeFromStr(element.getText()));
continue;
}
if(i == 7)
{
user.setPosts(new Integer(element.getText()));
continue;
}
if(i == 8)
{
user.setReposts(new Integer(element.getText()));
continue;
}
if(i == 9)
{
user.setLastposttime(dateUtil.getDateTimeFromStr(element.getText()));
continue;
}
}
return user;
} catch (DocumentException e) {
e.printStackTrace();
return null;
}
}
}