java 解析xml(用Java语言遍历读取和操纵XML文档)
java 解析xml(用Java语言遍历读取和操纵XML文档)9-2.显示姓名:仅显示XML文档“Students.xml”中的所有学生的姓名;9-1.全部显示:显示XML文档“Students.xml”中的所有学生信息;[html] view plain copy问题: 对于前面实验中所用的XML文档“Students.xml”,利用java语言JAXP编程实现下面功能:
实验环境:jdk1.9
实验工具:eclipse
问题:
Students.xml
[html] view plain copy
- <?xml version="1.0" encoding="GB2312"?>
- <学生名单>
- <学生>
- <学号>201501110101</学号>
- <姓名 爱好="足球">张三</姓名>
- <性别>男</性别>
- <专业>软件工程</专业>
- <数学>85</数学>
- <英语>90</英语>
- </学生>
- <学生>
- <学号>201501110102</学号>
- <姓名 爱好="篮球">李四</姓名>
- <性别>女</性别>
- <专业>软件工程</专业>
- <数学>92</数学>
- <英语>75</英语>
- </学生>
- <学生>
- <学号>201501110103</学号>
- <姓名>王五</姓名>
- <性别>男</性别>
- <专业>软件工程</专业>
- <数学>79</数学>
- <英语>88</英语>
- </学生>
- <学生>
- <学号>201501110104</学号>
- <姓名 爱好="音乐">赵六</姓名>
- <性别>男</性别>
- <专业>软件工程</专业>
- <数学>79</数学>
- <英语>88</英语>
- </学生>
- <学生>
- <学号>201501110105</学号>
- <姓名>刘七</姓名>
- <性别>女</性别>
- <专业>软件工程</专业>
- <数学>90</数学>
- <英语>74</英语>
- </学生>
- <学生>
- <学号>201501110106</学号>
- <姓名 爱好="上网">张君宝</姓名>
- <性别>男</性别>
- <专业>软件工程</专业>
- <数学>91</数学>
- <英语>67</英语>
- </学生>
- <学生>
- <学号>201501110107</学号>
- <姓名>崔春晓</姓名>
- <性别>女</性别>
- <专业>软件工程</专业>
- <数学>70</数学>
- <英语>83</英语>
- </学生>
- <学生>
- <学号>201501110108</学号>
- <姓名>倪冰</姓名>
- <性别>女</性别>
- <专业>软件工程</专业>
- <数学>91</数学>
- <英语>76</英语>
- </学生>
- <学生>
- <学号>201501110109</学号>
- <姓名>杨惠</姓名>
- <性别>女</性别>
- <专业>软件工程</专业>
- <数学>78</数学>
- <英语>90</英语>
- </学生>
- <学生>
- <学号>201501110110</学号>
- <姓名 爱好="音乐">李中华</姓名>
- <性别>男</性别>
- <专业>软件工程</专业>
- <数学>98</数学>
- <英语>79</英语>
- </学生>
- <学生>
- <学号>201501110201</学号>
- <姓名>张越</姓名>
- <性别>男</性别>
- <专业>网络工程</专业>
- <数学>85</数学>
- <英语>97</英语>
- </学生>
- <学生>
- <学号>201501110202</学号>
- <姓名>秦水天</姓名>
- <性别>男</性别>
- <专业>网络工程</专业>
- <数学>52</数学>
- <英语>76</英语>
- </学生>
- <学生>
- <学号>201501110203</学号>
- <姓名>张名扬</姓名>
- <性别>男</性别>
- <专业>网络工程</专业>
- <数学>50</数学>
- <英语>69</英语>
- </学生>
- <学生>
- <学号>201501110204</学号>
- <姓名>张楚越</姓名>
- <性别>男</性别>
- <专业>网络工程</专业>
- <数学>82</数学>
- <英语>77</英语>
- </学生>
- <学生>
- <学号>201501110205</学号>
- <姓名 爱好="上网">林子默</姓名>
- <性别>女</性别>
- <专业>网络工程</专业>
- <数学>95</数学>
- <英语>86</英语>
- </学生>
- <学生>
- <学号>201501110206</学号>
- <姓名 爱好="看电视">李子涵</姓名>
- <性别>女</性别>
- <专业>网络工程</专业>
- <数学>77</数学>
- <英语>88</英语>
- </学生>
- </学生名单>
问题:
对于前面实验中所用的XML文档“Students.xml”,利用java语言JAXP编程实现下面功能:
9-1.全部显示:显示XML文档“Students.xml”中的所有学生信息;
9-2.显示姓名:仅显示XML文档“Students.xml”中的所有学生的姓名;
9-3.显示属性:仅显示XML文档“Students.xml”中有爱好的学生的姓名及爱好;
9-4.查询学生:依据学号查找XML文档“Students.xml”中的学生信息并显示,若找不到给予提示。
9-5.添加学生:依据给定的学生信息添加新的学生,成功添加后给予提示。要注意新添加学生的学号不能与已有学生的学号相同,出现此种情况时给予提示。
9-6.删除学生:依据给定的学生学号删除指定学生,成功删除后给予提示。若找不到所给学号的学生,给予提示“该学生不存在,无法删除”。
showAllName.png
showAllNameAndHobby.png
showUpdateAverageGrade.png
程序总结:
此次试验加深了对W3c.org.DOM的理解。掌握了java语言解析xml文件的相关的类。学会了用java程序创建节点和移除节点和查询节点等。
相关难点就是难以掌握节点的定位问题。通过getElementByTagName解决。再通过此节点的父亲节点或者是子节点来定位到所要寻找的节点。