XML——流机制解析器
【0】README0.1) 本文文字描述转自 core java volume 2 , 旨在理解 XML——流机制解析器 的基础知识 ; 【1】XML——流机制解析器概述1)problem+solution
2)java 提供的流机制解析器: SAX解析器和添加到Java 6 中的更现代化的 StAX 解析器。 SAX解析器使用的是事件回调, 而StAX解析器提供了解析事件的迭代器;(干货——java提供了SAX流机制解析器+StAX 解析器) 【2】使用SAX解析器 (干货——DOM解析器是基于SAX解析器的)1)SAX解析器在解析XML 输入的组成部分时会报告事件, 但不会以任何方式存储文档,而是由事件处理器建立相应的数据结构; (干货——SAX解析器在解析XML 输入的组成部分时会报告事件,即SAX解析器是基于事件的)
3)看个荔枝:解析以下片段时, <font>
<name>a</name>
<size units="pt">36</size>
</font>
Attention)
4)代码分析:
SAXParserFactory factory = SAXParserFactory.newInstance();
SAXParser saxParser = factory.newSAXParser();
InputStream in = new URL(url).openStream();
saxParser.parse(in,handler);
DefaultHandler handler = new DefaultHandler()
{
public void startElement(String namespaceURI,String lname,String qname,Attributes attrs)
{
if (lname.equals("a") && attrs != null)
{
for (int i = 0; i < attrs.getLength(); i++)
{
String aname = attrs.getLocalName(i);
if (aname.equals("href")) System.out.println(attrs.getValue(i));
}
}
}
};
SAXParserFactory factory = SAXParserFactory.newInstance();
factory.setNamespaceAware(true);
SAXParser saxParser = factory.newSAXParser();
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |