、使用JAVA编程语言,分别用DOM和SAX方式对XML文件进行解析,解析输出格式如下: 学生信息: 学号:104610
学生信息:学号:104610姓名:张三性别:男年龄:20系别:计算机所选课程:数据结构学号:104611姓名:李四性别:男年龄:19系别:计算机所选课程:网络基础……教师...
学生信息:
学号:104610 姓名:张三 性别:男 年龄:20 系别:计算机 所选课程:数据结构
学号:104611 姓名:李四 性别:男 年龄:19 系别:计算机 所选课程:网络基础
……
教师信息:
教师编号:1101 姓名:江华 年龄:32 教龄:10 所带课程:数据结构 职称:讲师
……
课程信息:
课程号:10 课程名:数据结构 任课教师:江华 选课人数:12 开课时间:10.3 结课时间:10.6结课方式:考试
……
怎么做 展开
学号:104610 姓名:张三 性别:男 年龄:20 系别:计算机 所选课程:数据结构
学号:104611 姓名:李四 性别:男 年龄:19 系别:计算机 所选课程:网络基础
……
教师信息:
教师编号:1101 姓名:江华 年龄:32 教龄:10 所带课程:数据结构 职称:讲师
……
课程信息:
课程号:10 课程名:数据结构 任课教师:江华 选课人数:12 开课时间:10.3 结课时间:10.6结课方式:考试
……
怎么做 展开
1个回答
展开全部
我说一种吧 SAX
1.声明一个学生对象,属性有 id name sex age Department course (提供get set 方法)
2.使用SAXParserFactory 工程类,做解析,代码如下
SAXParserFactory factory = SAXParserFactory.newInstance();
SAXParser parser = factory.newSAXParser();
PersonParser personParser =new PersonParser();
//这里我通过了 网络获取,也可以直接本地读取,这file 去找对应的目录
URL url = new URL(path);
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setReadTimeout(5 * 1000);
conn.setRequestMethod("GET");
InputStream inStream =conn.getInputStream();
parser.parse(inStream, personParser);
//解析类
private final class PersonParser extends DefaultHandler {
声明一个list对象保存 但条信息
声明 Student 对象
临时 tag
get set list集合
重写 characters endElement startDocument startElement 四个方法
startElement
if ("details".equals(localName)) {
初始化 Student
Student.setId(new Integer(attributes.getValue(0))); //设置id
}
endElement
public void endElement(String uri, String localName, String qName) throws SAXException {
if ("details".equals(localName)) {
添加一个对象 到list
对象 = null;
}
tag = "";
}
}
characters 找标签 赋值
if (tag != null) {
String data = new String(ch, start, length);
if ("name".equals(tag)) {
simList.setName(data);
}
if ("size".equals(tag)) {
simList.setSize(data);
}
if ("urlname".equals(tag)) {
simList.setUrlname(data);
}
}
这样 就可以了,看清楚标签名对应 ,
还有什么问题可以追问
1.声明一个学生对象,属性有 id name sex age Department course (提供get set 方法)
2.使用SAXParserFactory 工程类,做解析,代码如下
SAXParserFactory factory = SAXParserFactory.newInstance();
SAXParser parser = factory.newSAXParser();
PersonParser personParser =new PersonParser();
//这里我通过了 网络获取,也可以直接本地读取,这file 去找对应的目录
URL url = new URL(path);
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setReadTimeout(5 * 1000);
conn.setRequestMethod("GET");
InputStream inStream =conn.getInputStream();
parser.parse(inStream, personParser);
//解析类
private final class PersonParser extends DefaultHandler {
声明一个list对象保存 但条信息
声明 Student 对象
临时 tag
get set list集合
重写 characters endElement startDocument startElement 四个方法
startElement
if ("details".equals(localName)) {
初始化 Student
Student.setId(new Integer(attributes.getValue(0))); //设置id
}
endElement
public void endElement(String uri, String localName, String qName) throws SAXException {
if ("details".equals(localName)) {
添加一个对象 到list
对象 = null;
}
tag = "";
}
}
characters 找标签 赋值
if (tag != null) {
String data = new String(ch, start, length);
if ("name".equals(tag)) {
simList.setName(data);
}
if ("size".equals(tag)) {
simList.setSize(data);
}
if ("urlname".equals(tag)) {
simList.setUrlname(data);
}
}
这样 就可以了,看清楚标签名对应 ,
还有什么问题可以追问
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询