package com.cmldemo.lh;
import java.io.File;
import java.util.HashMap;
import java.util.Iterator;
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;
public class MyReadXMLByDom4j {
public void iterateWholeXML(String filename, HashMap<String, BookBean> hm) {
SAXReader saxReader = new SAXReader();
try {
Document document = saxReader.read(new File(filename));
Element root = document.getRootElement();
int num = 0;
for (Iterator<?> iter = root.elementIterator(); iter.hasNext();) {
Element element = (Element) iter.next();
BookBean bean = new BookBean();
num++;
for (Iterator<?> iterInner = element.elementIterator(); iterInner
.hasNext();) {
Element elementInner = (Element) iterInner.next();
if ("name".equalsIgnoreCase(elementInner.getName())) {
bean.setName(elementInner.getText());
} else if ("author"
.equalsIgnoreCase(elementInner.getName())) {
bean.setAuthor(elementInner.getText());
}
hm.put("book" + num, bean);
}
}
} catch (DocumentException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public static void main(String[] args) {
MyReadXMLByDom4j demo = new MyReadXMLByDom4j();
HashMap<String, BookBean> hm = new HashMap<String, BookBean>();
demo.iterateWholeXML("WebRoot/book.xml", hm);
Iterator<BookBean> itr = hm.values().iterator();
while (itr.hasNext()) {
System.out.println(itr.next().getName() + itr.next().getAuthor());
}
}
}
import java.io.File;
import java.util.HashMap;
import java.util.Iterator;
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;
public class MyReadXMLByDom4j {
public void iterateWholeXML(String filename, HashMap<String, BookBean> hm) {
SAXReader saxReader = new SAXReader();
try {
Document document = saxReader.read(new File(filename));
Element root = document.getRootElement();
int num = 0;
for (Iterator<?> iter = root.elementIterator(); iter.hasNext();) {
Element element = (Element) iter.next();
BookBean bean = new BookBean();
num++;
for (Iterator<?> iterInner = element.elementIterator(); iterInner
.hasNext();) {
Element elementInner = (Element) iterInner.next();
if ("name".equalsIgnoreCase(elementInner.getName())) {
bean.setName(elementInner.getText());
} else if ("author"
.equalsIgnoreCase(elementInner.getName())) {
bean.setAuthor(elementInner.getText());
}
hm.put("book" + num, bean);
}
}
} catch (DocumentException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public static void main(String[] args) {
MyReadXMLByDom4j demo = new MyReadXMLByDom4j();
HashMap<String, BookBean> hm = new HashMap<String, BookBean>();
demo.iterateWholeXML("WebRoot/book.xml", hm);
Iterator<BookBean> itr = hm.values().iterator();
while (itr.hasNext()) {
System.out.println(itr.next().getName() + itr.next().getAuthor());
}
}
}
package com.cmldemo.lh;
public class BookBean {
private String name;
private String author;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getAuthor() {
return author;
}
public void setAuthor(String author) {
this.author = author;
}
}