XML小练习:利用SAX解析XML文档(感觉不方便)
来源:互联网 发布:淘宝收藏宝贝链接 编辑:程序博客网 时间:2024/06/04 19:43
XML文档:
<?xml version="1.0" encoding="utf-8"?><学生名册 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:noNamespaceSchemaLocation="student.xsd"><!-- 这不是演习,这不是演习 --><学生 学号="1"><姓名>张三</姓名><性别>男</性别><年龄>20</年龄></学生><学生 学号="2"><姓名>李四</姓名><性别>女</性别><年龄>19</年龄></学生><学生 学号="3"><姓名>王五</姓名><性别>男</性别><年龄>21</年龄></学生></学生名册>
=========================================================================================
JAVA实现:
package com.xml.sax;import java.io.File;import java.util.Stack;import javax.xml.parsers.SAXParser;import javax.xml.parsers.SAXParserFactory;import org.xml.sax.Attributes;import org.xml.sax.SAXException;import org.xml.sax.helpers.DefaultHandler;public class Saxtest2 {public static void main(String[] args) throws Exception {SAXParserFactory factory = SAXParserFactory.newInstance();SAXParser parser = factory.newSAXParser();parser.parse(new File("student.xml"), new MyHandler2());}}class MyHandler2 extends DefaultHandler {private Stack<String> stack = new Stack<String>();private String name;private String sex;private String age;@Overridepublic void startElement(String uri, String localName, String qName,Attributes attributes) throws SAXException {stack.push(qName);// qName = Qualified Name 元素名称for (int i = 0; i < attributes.getLength(); i++) {String attrName = attributes.getQName(i);String attrValue = attributes.getValue(i);System.out.println(attrName + "=" + attrValue);}}@Overridepublic void characters(char[] ch, int start, int length)throws SAXException {String tag = stack.peek();if (tag.equals("姓名")) {name = new String(ch, start, length);} else if (tag.equals("性别")) {sex = new String(ch, start, length);} else if (tag.equals("年龄")) {age = new String(ch, start, length);}}@Overridepublic void endElement(String uri, String localName, String qName)throws SAXException {stack.pop();if (qName.equals("学生")) {System.out.println("姓名:" + name);System.out.println("性别:" + sex);System.out.println("年龄:" + age);System.out.println();}}}
0 0
- XML小练习:利用SAX解析XML文档(感觉不方便)
- 利用DOM、SAX技术解析XML文档
- 利用DOM和SAX解析XML文档
- XML小练习:利用dom4j对XML文档进行解析(爽感yo~yo~yo~)
- SAX解析XML文档
- SAX解析xml文档
- SAX解析XML文档
- SAX解析xml文档
- SAX解析xml文档
- SAX解析XML文档
- SAX解析XML文档
- SAX解析XML文档
- SAX解析XML文档
- SAX解析XML文档
- sax解析xml文档
- SAX解析XML文档
- Sax解析Xml文档
- Sax解析XML文档
- Android-eclipse使用技巧
- Android中Bitmap,byte[],Drawable相互转化
- XML小练习:利用DOM解析XML(利用递归,实用性强)
- 查找一个String 字符串的某个值,然后替换
- 第12周项目多重继承
- XML小练习:利用SAX解析XML文档(感觉不方便)
- 拷贝构造和赋值构造调用时机
- 【Visual Basic】解决vb6退出时的错误报告
- Android Ant 批量多渠道打包实例
- 自动创建Pch预编译文件
- 网页中的渐进增强和优雅降级
- poj2528 Mayor's posters
- Doing Homework again
- JAVA中关于日期和时间的计算(万年历)