java - SAX 解析器出现问题

标签 java saxparser

我有一个以下格式的 xml 文件:

<Query>
   <map>
      <value name="val1">1</value>
      <value name="val2">2</value>
   </map>
</Query>
<Quest>
   <map>
      <value name="val1">6</value>
      <value name="val2">8</value>
   </map>
</Quest>

当我编写 SAX 解析器时,我会获取从开始到结束的所有值,但我需要编写一个条件,该条件将采用标签名称(例如 Query/Quest),并仅获取其特定的名称和值。

我不知道如何添加这个条件,一旦满足我的条件并且解析了我的对象,我就不需要解析其余的标签。

注意:我用 Java 编写。

最佳答案

  • 在 startElement 中,根据给定名称检查元素名称。例如,如果您正在查找“Query”并且名称为“Query”,请将某些标志设置为 true。
  • 在 startElement 中,如果元素名称为“value”且标志为 true,则将名称和值存储在映射中。
  • 在 endElement 中,如果元素名称等于“Query”,则将标志设置为 false。或者,完全停止解析。

关于java - SAX 解析器出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3289253/

相关文章:

java - 如何在android中解析这种XML

java - @FindBy 与 Arquillian Graphite 烯

java - 如何动态管理多个数据源

java - 将生成的文件输入回程序中

java - 通过使用超过 1 个深度级别的 map 从 csv 转换为 json

Android SAX 解析 : How to Preserve Newlines from within a CDATA Tag

java - 将 byte[] 馈送到 SAXParser

java - 为什么 SAXParser 在抛出事件之前读取这么多?

java - 保存后图像未添加到图库

java - 解析 XML 而不解码属性和文本节点中的字符实体