DefaultHandler如何工作?

时间:2014-06-10 04:43:12

标签: java android

我正在玩Android和RSS,在XML解析器的一部分,我们有DefaultHandler及其方法:

public void startElement(String uri, String localName, String qName, Attributes atts) 

public void endElement(String uri, String localName, String qName) 

和人物。

现在我浏览了文档,但它并没有真正深入了解,如何正确执行该方法,以及这些参数localNameqName等是如何进行的完全通过?我在代码示例中看到它们只是初始化类,但是它们放置了变量。 另外我们如何在startElement方法中定义要查找的元素,比如标题,描述等,我看到不同的示例寻找不同的字符串,这是否意味着我们必须事先查看来自的XML URL,或者是否使用了标签的确定标准。

1 个答案:

答案 0 :(得分:4)

DefaultHandler是XML解析器调用的回调。在不同的情况下调用DefaultHandler的不同方法。例如,只要XML解析器遇到元素的开头,就会调用方法startElement()。在以下XML文档中:

<books>
  <book>
    <title>XML</title>
  </book>
  <book>
    <title>Java</title>
  </book>
</books>

当XML解析器解析&#34;&lt; books&gt;&#34;,&#34;&lt; book&gt;&#34;和&#34;&lt; title&gt时,将调用方法startElement() ;&#34 ;.传递给方法startElement()的参数包含有关read元素的详细信息。例如,参数&#34; localName&#34;包含元素的名称(即&#34; books&#34;,&#34; book&#34;和&#34; title&#34;)。

您可以查看javadoc(http://docs.oracle.com/javase/7/docs/api/org/xml/sax/helpers/DefaultHandler.html)以获取有关调用方法的情况以及参数说明的更多详细信息。