java - 使用 SAXParser 检查多个标签

标签 java android xml parsing saxparser

我不知道如何正确表达这个问题,但我会举一个例子。

enter image description here

假设我想知道标签block的属性type我可以

 if (localName == "block") {

    int type = Integer.parseInt(attributes.getValue("type));

但是我也有不同的文件来描述 block 类型本身,它使用 < block > 标签作为基本标签。我必须知道该属性是否是(级别/ block 类型)和 block 的子属性。或者如果它同时位于 LevelArray 和 Block 下。

我希望我说得有道理,我对 Xml/xmlparsing 不太了解。

-如何从嵌套在其他元素中的元素中查找属性?

最佳答案

您必须随时跟踪状态。例如,您可以有一个名为 inBlockTag 的实例变量,该变量最初为 false。在 startElement 方法中,如果 localName.equals("block") 则可以将 inBlockTag 设置为 true。然后,当您处理其他元素时,您可以检查该标志的值以了解您是否位于 block 的子元素中。如果您这样做,请不要忘记在 endElement 方法上将其设置回 false(同样,当 localName.equals("block") 时)。

关于java - 使用 SAXParser 检查多个标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8360747/

相关文章:

java - 泛型 - 为什么有些版本不起作用?

xml - 在 Golang 中解析 XML

xml - XQuery:预期项目,发现序列错误

xml - 如何使用 bash 脚本编辑 XML?

java - 创建子类对象时如何调用抽象类构造函数?

java - Java 中的类型转换作为缺少泛型数组的解决方法

java - 为什么添加长变量会导致串联?

android - 在 onPageSelected() 中访问时 fragment 成员变量变为空

android - 为什么 gradle plugin 3.3.0 不想构建 google-services?

java - 有没有办法在我的 android 项目中模拟 JNI 方法来进行 Junit 测试?