java - SAX 查找结束标签

标签 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() 方法,但无法在高层次上弄清楚它。我所能想到的就是使用计数器,想看看是否有人听说过更简单的方法。我想根据这两个对象类的启动和关闭时间将其拆分为两个单独的字符串。有什么建议吗?

最佳答案

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

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

关于java - SAX 查找结束标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15557225/

相关文章:

java - 使用 Apache Thrift 时出现 TTransportException 异常

java - 从 Java 使用 IBM MQ

java - 如何在不使用liferay中的themedisplay对象的情况下获取路径上下文

java - panoramagl 热点将移至下一个全景

c++ - 编写一个简单的方程解析器

如果 On 不存在,C++ 在文件末尾添加新行?

java - Spring JPA 方法查找具有 beforeAndEqual 日期和 afterAndEqual 日期的实体

java - 仅使用根 XSD 验证 XML (Java)

java - Android Studio : Using radioButtons for a quiz

python - 使用 pyparsing 从字符串中获取所有数字作为列表