import java.io.File;
import java.util.List;
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;
public class Test {
public static void main(String[] args) {
File file = new File("d:\\Test.xml");
SAXReader reader = new SAXReader();
Document doc = null;
try {
doc = reader.read(file);
}
catch(DocumentException e) {
e.printStackTrace();
}
Element root = doc.getRootElement();
Listrecords = root.elements("Record");
for(Element record : records) {
Listfields = record.elements("Field");
for(Element field : fields) {
parseFieldElement(field);
}
}
}
public static void parseFieldElement(Element e) {
System.out.println(e.elementText("Name"));
if(Integer.parseInt(e.attribute("isMultiValue").getValue()) == 1) {
Listfields = e.element("Value").element("LookupRecord").elements("Field");
for(Element field : fields) {
parseFieldElement(field);
}
}
else {
System.out.println(e.elementText("Value"));
}
}
}
xpath搜索xml,比如
public void findNames(Document document) throws DocumentException {
List list = document.selectNodes( "//Field/Name" );
for (Iterator iter = list.iterator(); iter.hasNext(); ) {
Attribute attribute = (Attribute) iter.next();
String name = attribute.getValue();
}
}