📄 xmlparse.java
字号:
package org.openblog.utils;
import org.dom4j.*;
import java.text.SimpleDateFormat;
import java.util.Date;
import org.dom4j.io.*;
import org.openblog.hibernate.Photo;
import java.io.*;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
public class XmlParse
{
StringBuffer result = new StringBuffer();
Document doc = null;
private String PHOTO="";
private String MUSIC ="";
public XmlParse(String src)
{
this.MUSIC=src;
this.PHOTO=src;
}
private void read(String fileName)throws Exception
{
SAXReader reader = new SAXReader();
doc = reader.read(new File(fileName));
}
private void output(String fileName)
{
OutputFormat format = OutputFormat.createPrettyPrint();
/** 指定XML字符集编码 */
format.setEncoding("gbk");
XMLWriter writer;
try {
writer = new XMLWriter(new FileWriter(new File(fileName)),format);
writer.write(doc);
writer.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
private String musictree(Element element)
{
String result = "";
Iterator iterator = element.elementIterator();
while(iterator.hasNext())
{
Element temp= (Element)iterator.next();
if(temp.getName().equals("music"))
{
result= result+"<tr><td>"+temp.attributeValue("Music_id")+"</td>";
result= result+"<td>"+temp.attributeValue("Music_name")+"</td>";
result= result+"<td>"+temp.attributeValue("Music_singer")+"</td>";
//if(temp.attributeValue("Music_url").length()>60)
//result= result+"<td>"+temp.attributeValue("Music_url").substring(0, 60)+"..</td><td align=\"center\"><a href=\"delMusic.do?musicid="+temp.attributeValue("Music_id")+"\">删除</a></td></tr>";
//else
result= result+"<td>"+temp.attributeValue("Music_url")+"</td><td align=\"center\"><a href=\"delMusic.do?musicid="+temp.attributeValue("Music_id")+"\">删除</a></td></tr>";
//System.out.println(temp.attributeValue("Music_url"));
}
}
return result;
}
public String music()
{
try {
read(MUSIC);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return musictree(doc.getRootElement());
}
public boolean addMusic(String src,String title,String singer)
{
try {
read(MUSIC);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
int maxid=0;
Element element = doc.getRootElement();
Iterator iterator = element.elementIterator();
while(iterator.hasNext())
{
Element temp= (Element)iterator.next();
if(temp.getName().equals("music"))
{
int currentId = Integer.parseInt(temp.attributeValue("Music_id"));
if(currentId > maxid) maxid = currentId;
}
}
maxid = maxid + 1;
Element newElement = element.addElement("music");
newElement.addAttribute("Music_name", title);
newElement.addAttribute("Music_url", src);
newElement.addAttribute("Music_singer", singer);
newElement.addAttribute("Music_id", Integer.toString(maxid));
//newElement.addAttribute("a", singer);
output(MUSIC);
return true;
}
public Element selectMusic(String src)
{
Element selectElement=(Element)doc.selectSingleNode("//music[@Music_id='"+src+"']");
return selectElement;
}
public boolean delMusic(String musicid)
{
try {
read(MUSIC);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
Element element = doc.getRootElement();
element.remove(selectMusic(musicid));
output(MUSIC);
return true;
}
public boolean updateMusic(String newname,String newsrc,String src)
{
try {
read(MUSIC);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
Element updateElement=selectMusic(src);
updateElement.setAttributeValue("Music_name", newname);
updateElement.setAttributeValue("Music_url", newsrc);
output(MUSIC);
return true;
}
private String photocategory(Element element)
{
String result ="<tr>";
Iterator iterator = element.elementIterator();
while(iterator.hasNext())
{
Element temp= (Element)iterator.next();
if(temp.getName().equals("category"))
{
result=result+"<td>"+temp.attributeValue("categoryid")+"</td>";
result=result+"<td>"+temp.attributeValue("name")+"</td>";
result=result+"<td align=\"center\"><a href=\"delPhotoSort.do?categoryid="+temp.attributeValue("categoryid")+"\">删除</a></td></tr>";
}
}
return result;
}
public String photocategory()
{
try {
read(PHOTO);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return photocategory(doc.getRootElement());
}
private List categorylist(Element element)
{
List list = new ArrayList();
Iterator iterator = element.elementIterator();
while(iterator.hasNext())
{
Element temp= (Element)iterator.next();
if(temp.getName().equals("category"))
{
Photo category =new Photo();
category.setCategoryid(temp.attributeValue("categoryid"));
category.setCategoryname(temp.attributeValue("name"));
list.add(category);
}
}
return list;
}
public List categorylist()
{
try {
read(PHOTO);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return categorylist(doc.getRootElement());
}
public String phototree()
{
try {
read(PHOTO);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return phototree(doc.getRootElement());
}
public String phototree(Element element)
{
String result = "";
Iterator iterator = element.elementIterator();
while(iterator.hasNext())
{
Element temp= (Element)iterator.next();
if(temp.getName().equals("category"))
{
String categoryname= temp.attributeValue("name");
Iterator subiterator = temp.elementIterator();
while(subiterator.hasNext())
{
Element sub= (Element)subiterator.next();
result = result +"<tr>";
result = result +"<td>"+ sub.attributeValue("imageid")+"</td>";
result = result +"<td>"+ categoryname+"</td>";
Iterator subsubiterator =sub.elementIterator();
while(subsubiterator.hasNext())
{
Element subsub = (Element)subsubiterator.next();
if(subsub.getName().equals("date")) result = result +"<td>"+ subsub.getText()+"</td>";
if(subsub.getName().equals("title"))result = result +"<td>"+ subsub.getText()+"</td>";
if(subsub.getName().equals("img")) result = result +"<td align=\"center\"><img src=\"../../photoalbum/images/"+ subsub.getText()+"\" width=\"200\" height=\"180\"></td>";
}
result = result +"<td align=\"center\"><a href=\"delPhoto.do?imageid="+sub.attributeValue("imageid")+"\">删除</a></td></tr>";
}
}
}
return result;
}
public boolean addPhoto(String category)
{
try {
read(PHOTO);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
int maxid=0;
Element element = doc.getRootElement();
Iterator iterator = element.elementIterator();
while(iterator.hasNext())
{
Element temp= (Element)iterator.next();
if(temp.getName().equals("category"))
{
int currentId = Integer.parseInt(temp.attributeValue("categoryid"));
if(currentId > maxid) maxid = currentId;
}
}
maxid = maxid + 1;
Element newElement = element.addElement("category");
newElement.addAttribute("name", category);
newElement.addAttribute("categoryid", Integer.toString(maxid));
//newElement.addAttribute("a", singer);
output(PHOTO);
return true;
}
public boolean addPhoto(String category,String title,String src,String photoinfo)
{
try {
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -