有没有可行的方法使用默认的处理程序类来查找对应的XML标签?例如...
<Object class="my class">
<Property>
<Value>1</Value>
</Property>
</Object>
<Object class="my next class">
<Property>
<Value>1</Value>
</Property>
</Object>
我想使用 startElement() 和 endElement() 方法,但无法在高层次上弄清楚它。我所能想到的就是使用计数器,想看看是否有人听说过更简单的方法。我想根据这两个对象类的启动和关闭时间将其拆分为两个单独的字符串。有什么建议吗?
最佳答案
您需要对默认处理程序类进行子类化(无论如何您都需要这样做才能在 startElement
和 endElement
期间进行任何处理)。当为 Object
标记调用 startElement
时,创建一个对象并将对其的引用存储在处理程序的实例变量中。当调用 endElement
时,将对象保存在某处并将引用设置为 null
。同时,当您收到其他 startElement
和 endElement
事件(对于 Property
和 Value
标记)时,对引用的对象。
对第二个对象重复此操作。最后,您将保存对象的两个不同实例。
关于java - SAX 查找结束标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15557225/