SAX解析xml

//获取SAX解析器工厂
SAXParserFactory sf = SAXParserFactory.newInstance();
//获取SAX解析器
SAXParser sp = sf.newSAXParser();
//从解析器中得到reader对象
XMLReader reader = sp.getXMLReader();
//设置内容处理器
reader.setContentHandler(new XMLContentHandler()); //括号内要引入下面的类
//需要读取的xml文件路径
reader.parse(path:" ");

class XMLContentHandler implements ContentHandler{ //会override很多方法,只需要其中几种方法。

//开始读取xml文档
@Override
public void startDocument() throws SAXException {
System.out.println("开始读取xml文档");
}

//结束读取xml文档
@Override
public void endDocument() throws SAXException {
System.out.println("结束读取xml文档");
}

//开始读取节点
@Override
public void startElement(String uri, String localName, String qName, Attributes atts) throws SAXException {
System.out.print("<" + qName); //拼接标签的开头

    for(int i = 0; i < atts.getLength(); i++){ //遍历标签的所有属性

        System.out.print(" " + atts.getQName(i) + "=\"" + atts.getValue(i) + "\"" ); //  \"为转译双引号
    }
    System.out.println(">"); //输出结尾
}

//结束读取节点
@Override
public void endElement(String uri, String localName, String qName) throws SAXException {

}

//得到标签之间的字符串
@Override
public void characters(char[] ch, int start, int length) throws SAXException {
System.out.println(new String(ch,start,length)); //输出标签之间的字符串,使用的是new String(对象,开始位置,结束位置) 。
}

posted @   啧啧z  阅读(14)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
点击右上角即可分享
微信分享提示