📄 xmlparse.java
字号:
read(PHOTO);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
Date now = new Date();
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy.MM.dd");
Element element = doc.getRootElement();
Iterator iterator = element.elementIterator();
int maxid = 0;
while(iterator.hasNext())
{
Element temp= (Element)iterator.next();
if(temp.getName().equals("category"))
{
Iterator additerator = temp.elementIterator();
while(additerator.hasNext())
{
Element image = (Element)additerator.next();
System.out.println(image.getName());
int currentid = Integer.parseInt(image.attributeValue("imageid"));
if(currentid > maxid) maxid=currentid;
}
}
}
maxid= maxid+1;
System.out.print(maxid);
Element element2 = doc.getRootElement();
Iterator iterator2 = element2.elementIterator();
while(iterator2.hasNext())
{
Element addtemp= (Element)iterator2.next();
//System.out.println(addtemp.attributeValue("categoryid")+"!"+category);
if(addtemp.attributeValue("categoryid").equals(category))
{
Element addElement = addtemp.addElement("image");
addElement.addAttribute("imageid", Integer.toString(maxid));
addElement.addElement("date").setText( dateFormat.format(now));
addElement.addElement("title").setText(title);
addElement.addElement("desc").setText(photoinfo);
addElement.addElement("thumb").setText(src);
addElement.addElement("img").setText(src);
}
}
output(PHOTO);
return true;
}
public Element selectPhoto(String categoryid)
{
Element element = doc.getRootElement();
Element selectElement=null;
Iterator iterator = element.elementIterator();
while(iterator.hasNext())
{
Element temp= (Element)iterator.next();
if(temp.getName().equals("category"))
{
if(temp.attributeValue("categoryid").trim().equals(categoryid))
{
selectElement = temp;
break;
}
}
}
return selectElement;
}
public Element selectPhoto(String category,String image)
{
try {
read(PHOTO);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
Element selectElement=(Element)doc.selectSingleNode("//category[@name='"+category+"']");
Iterator iterator = selectElement.elementIterator();
while(iterator.hasNext())
{
Element element =(Element)iterator.next();
Iterator subIterator = element.elementIterator();
while(subIterator.hasNext())
{
Element subElement = (Element)subIterator.next();
if(subElement.getName().equals("title")&&subElement.getText().equals(image))
{
selectElement = subElement.getParent();
}
}
}
return selectElement;
}
public boolean delPhoto(String imageid)
{
try {
read(PHOTO);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
Element element = doc.getRootElement();
Iterator iterator = element.elementIterator();
while(iterator.hasNext())
{
Element category=(Element)iterator.next();
if(category.getName().equals("category"))
{
Iterator imageiterator = category.elementIterator();
while(imageiterator.hasNext())
{
Element image = (Element)imageiterator.next();
//System.out.println("3"+image.attributeValue("imageid"));
//System.out.println(imageid);
if(image.attributeValue("imageid").equals(imageid))
{
image.getParent().remove(image);
}
}
}
}
output(PHOTO);
return true;
}
public boolean delPhotoCategory(String categoryid)
{
try {
read(PHOTO);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
Element element = doc.getRootElement();
element.remove(selectPhoto(categoryid));
output(PHOTO);
return true;
}
public boolean delPhoto(String category,String filename)
{
try {
read(PHOTO);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
Element element = doc.getRootElement();
element.remove(selectPhoto(category,filename));
output(PHOTO);
return true;
}
public boolean updatePhoto(String category, String newcategory)
{
try {
read(PHOTO);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
Element element = selectPhoto(category);
element.setAttributeValue("name", newcategory);
output(PHOTO);
return true;
}
public boolean updatePhoto(String category,String filename,String newname)
{
try {
read(PHOTO);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
Element element = selectPhoto(category,filename);
Iterator iterator = element.elementIterator();
while(iterator.hasNext())
{
Element updateElement = (Element)iterator.next();
if(updateElement.getName().equals("title"))
{
updateElement.setText(newname);
}
if(updateElement.getName().equals("desc"))
{
updateElement.setText(newname);
}
}
output(PHOTO);
return true;
}
/* public void treeWalk(Element element)
{
for(int i=0,size = element.nodeCount();i<size;i++)
{
Node node = element.node(i);
if(node instanceof Element)
{
if(node.getText().trim().length()>0) result.append(node.getName()+"=");
else result.append("!!节点!!");
treeWalk((Element)node);
}
else
{
if(node.getText().trim().length()>0) result.append(node.getText()+"<br>");
}
}
}
public boolean test() throws DocumentException
{
SAXReader reader = new SAXReader();
Document doc = reader.read(new File("c:\\gallery.xml"));
List list =doc.selectNodes("/gallery");
for(int i= 1; i<=list.size();i++)
{
Object a = list.get(i);
System.out.println(a.toString());
}
return true;
}
public boolean XmlAdd(String filename,String path,String elementname,
String text,String propertyname,String propertyvalue) throws DocumentException
{
SAXReader reader = new SAXReader();
Document doc = reader.read(new File(filename));
List list =doc.selectNodes(path);
Iterator iter = list.iterator();
if(iter.hasNext())
{
//System.out.println("!!!");
Element element= (Element)iter.next();
Element dstelement = element.addElement(elementname);
if (text!=null)dstelement.setText(text);
if (propertyname!=null)dstelement.addAttribute(propertyname,propertyvalue);
}
XMLWriter writer;
try {
writer = new XMLWriter(new FileWriter(new File(filename)));
writer.write(doc);
writer.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return true;
}
public String getResult()
{
return result.toString();
}*/
public static void main(String args[]) throws IOException, Exception
{
/* XmlParse parse = new XmlParse();
try {
parse.read("c:\\gallery.xml");
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
parse.treeWalk();
System.out.println(parse.getResult());*/
//XmlParse parse = new XmlParse();
//parse.addPhoto("newworld");
//parse.delMusic("http://www.163.com");
//XmlParse parse = new XmlParse();
//parse.delPhoto("1");
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -