snow_xp
作者snow_xp·2010-11-16 16:23
系统工程师·

Java 解析/读取XML 文件

字数 6631阅读 2006评论 0赞 0
代码片段(2)
[代码] students.xml
01 <?xml version="1.0"?> 

02 <students> 

03    <student> 

04        <name>John</name> 

05        <grade>B</grade> 

06        <age>12</age> 

07    </student> 

08    <student> 

09        <name>Mary</name> 

10        <grade>A</grade> 

11        <age>11</age> 

12    </student> 

13    <student> 

14        <name>Simon</name> 

15        <grade>A</grade> 

16        <age>18</age> 

17    </student> 

18 </students>

[代码] XMLParser.java
01 package net.viralpatel.java.xmlparser; 

02     

03 import java.io.File; 

04 import javax.xml.parsers.DocumentBuilder; 

05 import javax.xml.parsers.DocumentBuilderFactory; 

06     

07 import org.w3c.dom.Document; 

08 import org.w3c.dom.Element; 

09 import org.w3c.dom.Node; 

10 import org.w3c.dom.NodeList; 

11     

12 public class XMLParser { 

13     

14    public void getAllUserNames(String fileName) { 

15        try { 

16            DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); 

17            DocumentBuilder db = dbf.newDocumentBuilder(); 

18            File file = new File(fileName); 

19            if (file.exists()) { 

20                Document doc = db.parse(file); 

21                Element docEle = doc.getDocumentElement(); 

22     

23                // Print root element of the document 

24                System.out.println("Root element of the document: "

25                        + docEle.getNodeName()); 

26     

27                NodeList studentList = docEle.getElementsByTagName("student"); 

28     

29                // Print total student elements in document 

30                System.out.println("Total students: " + studentList.getLength()); 

31   

32                if (studentList != null && studentList.getLength() > 0) { 

33                    for (int i = 0; i < studentList.getLength(); i++) { 

34     

35                        Node node = studentList.item(i); 

36     

37                        if (node.getNodeType() == Node.ELEMENT_NODE) { 

38     

39                            System.out.println("====================="); 

40   

41                            Element e = (Element) node; 

42                            NodeList nodeList = e.getElementsByTagName("name"); 

43                            System.out.println("Name: "

44                                    + nodeList.item(0).getChildNodes().item(0) 

45                                            .getNodeValue()); 

46     

47                            nodeList = e.getElementsByTagName("grade"); 

48                            System.out.println("Grade: "

49                                    + nodeList.item(0).getChildNodes().item(0) 

50                                            .getNodeValue()); 

51     

52                            nodeList = e.getElementsByTagName("age"); 

53                            System.out.println("Age: "

54                                    + nodeList.item(0).getChildNodes().item(0) 

55                                            .getNodeValue()); 

56                        } 

57                    } 

58                } else { 

59                    System.exit(1); 

60                } 

61            } 

62        } catch (Exception e) { 

63            System.out.println(e); 

64        } 

65    } 

66    public static void main(String[] args) { 

67   

68        XMLParser parser = new XMLParser(); 

69        parser.getAllUserNames("c:\students.xml"); 

70    } 

71 }

如果觉得我的文章对您有用,请点赞。您的支持将鼓励我继续创作!

0

添加新评论0 条评论

Ctrl+Enter 发表

作者其他文章

相关文章

相关问题

相关资料

X社区推广