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(对象,开始位置,结束位置) 。
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!