我正在玩Android和RSS,在XML解析器的一部分,我们有DefaultHandler及其方法:
public void startElement(String uri, String localName, String qName, Attributes atts)
public void endElement(String uri, String localName, String qName)
和人物。
现在我浏览了文档,但它并没有真正深入了解,如何正确执行该方法,以及这些参数localName
,qName
等是如何进行的完全通过?我在代码示例中看到它们只是初始化类,但是它们放置了变量。
另外我们如何在startElement
方法中定义要查找的元素,比如标题,描述等,我看到不同的示例寻找不同的字符串,这是否意味着我们必须事先查看来自的XML URL,或者是否使用了标签的确定标准。
答案 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)以获取有关调用方法的情况以及参数说明的更多详细信息。