2014-06-10 34 views
1

我与Android和RSS和XML解析器的一部分打我们拥有的DefaultHandler它的方法:DefaultHandler如何工作?

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

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

和人物。

现在我浏览了文档,但它并没有真正给出深刻的洞察力,该方法是如何精确执行的,那么这些参数localName,qName等是如何被正确地传递?我在代码示例中看到他们只是初始化类,但他们在哪里放置变量。 另外我们如何定义在startElement方法中查找哪些元素,如标题,描述等,我看到不同的示例查找不同的字符串,这是否意味着我们必须事先查看URL中的XML,或者对于使用的标签是否有坚实的标准?

回答

4

DefaultHandler是一个由XML解析器调用的回调函数。在不同情况下调用DefaultHandler的不同方法。例如,只要XML解析器遇到元素的开始,就会调用startElement()方法。在下面的XML文档:

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

方法的startElement()时,XML解析器解析将被称为 “<书>”, “<书>” 和 “<称号>”。传递给方法startElement()的参数包含有关读取元素的详细信息。例如,参数“localName”包含元素的名称(即“书”,“书”和“标题”)。

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

+0

谢谢我现在明白了一点点 –