import org.w3c.dom.Document;
import org.w3c.dom.NodeList;
import org.xml.sax.InputSource;
import org.xml.sax.SAXException;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
import java.io.IOException;
import java.io.StringReader;
/**
* xml字符串解析
* */
public class xmlUtil {
public static Document parseXml(String xmlStr) {
Document document = null;
try {
DocumentBuilder builder = createDocumentBuilder();
document = builder.parse(new InputSource(new StringReader(xmlStr)));
} catch (SAXException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return document;
}
public static DocumentBuilder createDocumentBuilder(){
try {
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
dbf.setNamespaceAware(true);
return dbf.newDocumentBuilder();
} catch (ParserConfigurationException e) {
e.printStackTrace();
}
return null;
}
//测试
public static void main(String args[]) {
try {
String xmlStr = "<employees>" +
" <employee>" +
" <name>张三</name>" +
" <age>20</age>" +
" </employee>" +
" <employee>" +
" <name>李四</name>" +
" <age>30</age>" +
" </employee>" +
"</employees>";
Document document = parseXml(xmlStr);
NodeList list = document.getElementsByTagName("name");
for(int i=0;i<list.getLength();i++){
System.out.println(list.item(i).getTextContent());
}
} catch (Exception e) {
e.printStackTrace();
}
}
}