📄 saxparsexml.java
字号:
import org.xml.sax.Attributes;
import org.xml.sax.SAXException;
import org.xml.sax.Locator;
import org.xml.sax.InputSource;
import org.xml.sax.helpers.DefaultHandler;
import javax.xml.parsers.SAXParser;
import javax.xml.parsers.SAXParserFactory;
public class SAXParseXML
{
public static void main(String[] args)
{
try
{
//用于创建SAXParserFactory类对象factory
SAXParserFactory factory = SAXParserFactory.newInstance();
//利用SAXParserFactory类对象factory的newSAXParser()方法,来获取SAX解析器
SAXParser saxParser = factory.newSAXParser();
//创建自定义事件处理类的对象
MyHandler myHandler = new MyHandler();
//使用SAX解析器对象中的parse()方法解析XML文档
saxParser.parse(new InputSource("c:\\Demo3.xml"),myHandler);
}
catch(SAXException e1){}
catch(Exception e2){}
}
}
class MyHandler extends DefaultHandler
{ //自定义事件处理类
public void startElement(String namespace,String lname,String qname,Attributes att)
{ //元素开始事件处理
if(att!=null) //当元素的属性不为空值时触发事件处理
{
for (int i = 0; i < att.getLength(); i++)
{
//用于获取该元素的名称
System.out.println("元素名为:"+qname);
if(att.getQName(i).equals("edition"))
{
//用于获取"edition"属性的名称和属性值
System.out.print("属性名为:"+att.getQName(i));
System.out.println(",属性值为:"+att.getValue(i));
}
if(att.getQName(i).equals("isbn"))
{
//用于获取"isbn"属性的名称和属性值
System.out.print("属性名为:"+att.getQName(i));
System.out.println(",属性值为:"+att.getValue(i));
}
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -