1.准备xml文件如下:
<?xml version="1.0" encoding="UTF-8"?> <?xml-stylesheet type="text/xsl" href="students.xsl"?> <students> <student id="01"> <name>张三</name> <age>18</age> </student> <student id="02"> <name>李四</name> <age>20</age> </student> </students>
2.利用java的api读取xml并输出name和age节点里面的文本值
public static void main(String[] args) { /* * 把xml文档获取生成dom对象的解析器 */ DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); try { /* *使用此对象生成一个document对象 */ DocumentBuilder db = dbf.newDocumentBuilder(); /* *表示整个xml文档 */ Document doc = db.parse(new File("bin/students.xml")); /* * 获取节点名为student所有节点,于html的document.getElementsByTagName类似 */ NodeList nl = doc.getElementsByTagName("student"); for (int i = 0; i < nl.getLength(); i++) { /* * 每一个student是一个节点 */ Element eltStu = (Element) nl.item(i); /* * 返回name节点对象 */ Node eltName = eltStu.getElementsByTagName("name").item(0); /* * 返回age节点对象 */ Node eltAge = eltStu.getElementsByTagName("age").item(0); /* * 取得name节点的信息,getTextContent是返回所有子节点的信息,因为在name节点中只有一个文本节点,所以用此方法可行 * eltName.getFirstChild().getNodeValue() */ System.out.println(eltName.getTextContent()); System.out.println(eltAge.getTextContent()); } } catch (ParserConfigurationException e) { e.printStackTrace(); } catch (SAXException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } }