SAX找到结束标签

时间:2013-03-21 20:18:23

标签: java xml parsing xml-parsing sax

使用默认处理程序类查找相应的XML标记是否可行?例如......

<Object class="my class">
  <Property>
    <Value>1</Value>
  </Property>
</Object>
<Object class="my next class">
  <Property>
    <Value>1</Value>
  </Property>
</Object>

我想使用startElement()和endElement()方法,但无法在高级别上找出它。我所能想到的就是使用一个计数器,想知道是否有人听说过更简单的方法。我想根据它们的启动和关闭时间将这两个Object类拆分为2个单独的字符串。有什么建议吗?

1 个答案:

答案 0 :(得分:1)

您需要子类化默认处理程序类(无论如何,您需要在startElementendElement期间完成任何处理)。为startElement标记调用Object时,创建一个对象并在处理程序的实例变量中存储对它的引用。调用endElement时,将对象保存在某处并将引用设置为null。同时,当您收到其他startElementendElement个事件(针对PropertyValue标记)时,请对引用的对象进行操作。

重复第二个对象。最后,您将保存对象的两个不同实例。