使用JAXP 对 XML文档进行 SAX解析:

 public class Demo1 {

     /**
* 使用JAXP对XML文档进行SAX解析
* @throws Exception
* @throws ParserConfigurationException
*/
public static void main(String[] args) throws ParserConfigurationException, Exception { //1.创建解析工厂
SAXParserFactory factory = SAXParserFactory.newInstance(); //2.得到解析器
SAXParser sp = factory.newSAXParser(); //3.得到读取器
XMLReader reader = sp.getXMLReader(); //4.设置内容处理器
ListHandler handler = new ListHandler();
reader.setContentHandler(handler); //5.读取XML文档内容
reader.parse("src/book.xml");
} } //得到XML文档所有内容
class ListHandler implements ContentHandler { @Override
public void startElement(String uri, String localName, String qName,
Attributes atts) throws SAXException {
System.out.println("<" + qName + ">"); //打印标签的属性
for(int i = 0;atts != null && i<atts.getLength();i++) { //防止某些时候属性值为空时,抛异常 所以再加个条件atts != null
String attName = atts.getQName(i);
String attValue = atts.getValue(i);
System.out.println(attName + "=" + attValue);
} } @Override
public void characters(char[] ch, int start, int length)
throws SAXException {
System.out.println(new String(ch,start,length)); } @Override
public void endElement(String uri, String localName, String qName)
throws SAXException {
System.out.println("</" + qName + ">"); } @Override
public void setDocumentLocator(Locator locator) { } @Override
public void startDocument() throws SAXException {
// TODO Auto-generated method stub } @Override
public void endDocument() throws SAXException {
// TODO Auto-generated method stub } @Override
public void startPrefixMapping(String prefix, String uri)
throws SAXException {
// TODO Auto-generated method stub } @Override
public void endPrefixMapping(String prefix) throws SAXException {
// TODO Auto-generated method stub } @Override
public void ignorableWhitespace(char[] ch, int start, int length)
throws SAXException {
// TODO Auto-generated method stub } @Override
public void processingInstruction(String target, String data)
throws SAXException {
// TODO Auto-generated method stub } @Override
public void skippedEntity(String name) throws SAXException {
// TODO Auto-generated method stub } }

最新文章

  1. 编写Windows服务疑问1:操作过程
  2. Qt4.8.5 QtWebKit QWebView 用户栈检查崩溃问题的思考
  3. ionic懒加载图片
  4. try...except 错误记录添加logging
  5. Maven生命周期(插件)
  6. 几项有用的JQUERY代码
  7. mybatis 做 insert操作的时候返回插入的那条数据的id
  8. 关于Spring事务&lt;tx:annotation-driven/&gt;的理解(Controller可以使用@Transactional)
  9. js 对于回车时间的监听,提交表单
  10. Python2和Python3中的字符串编码问题解决
  11. mariadb 压缩包gz安装方式
  12. remove duplicate of the sorted array
  13. 用Excel导入Oracle数据库plsql
  14. 使用map()的小陷阱:parseInt
  15. Laravel collection 报错 join(): Invalid arguments passed
  16. C语言中 有符号数、无符号数、整数溢出 (转)
  17. 记:青岛理工ACM交流赛筹备工作总结篇
  18. java文件读写操作指定编码格式
  19. mysql_load_data及权限管理
  20. 关于phonegap-plugin-contentsync插件

热门文章

  1. Build Telemetry for Distributed Services之Open Telemetry来历
  2. VMware安装Centos7超详细过程
  3. js 基本类型与引用类型的存储
  4. Spring Aop(十)——编程式的Pointcut
  5. 二分类Logistic回归模型
  6. PHP中使用CURL实现GET、POST、PUT、DELETE请求
  7. Leetcode之分治法专题-654. 最大二叉树(Maximum Binary Tree)
  8. thinkPHP5 命名空间别名
  9. C#操作Memcached帮助类
  10. HIVE配置mysql metastore