要解析的XML文档如下:
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<datatypestore>
<datatype name="001">
<value>genbank</value>
</datatype>
<datatype name="002">
<value>go</value>
</datatype>
<datatype name="003">
<value>EMBL</value>
</datatype>
<datatype name="004">
<value>HSSP</value>
</datatype>
</datatypestore>
Java代码如下:
package cnic.cn.process;
import java.io.File;
import java.util.Iterator;
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;
public class Test001 {
public static void main(String[] args) {
String filename = "F:\\lin\\BioJava\\MRS-Java\\src\\main\\resources\\datatypes.xml";
parserXml(filename);
}
private static void parserXml(String fileName) {
File inputXml = new File(fileName);
SAXReader saxReader = new SAXReader();
try {
Document document = saxReader.read(inputXml);
//datatypestore
Element datatypes = document.getRootElement();
for (Iterator i = datatypes.elementIterator(); i.hasNext();) {
//datatype
Element element = (Element) i.next();
//value
Iterator iterator = element.elementIterator("value");
while(iterator.hasNext()){
Element IdElement = (Element)iterator.next();
//属性值
System.out.println(IdElement.getText());
}
}
} catch (DocumentException e) {
System.out.println(e.getMessage());
}
System.out.println("dom4j parserXml");
}
}
该程序用来解析XML并且提取value中的值:
genbank
go
EMBL
HSSP
dom4j parserXml