1

我有以下 XML(为简单起见而简化)

<object class="domain">
    <property>
        <value>2</value>
    </property>
</object>
<object class="domain">
    <property>
        <value>10</value>
    </property>
</object>
<object class="domain">
    <object class="ID">
    </object>
    <object class="Extranet">
    </object>
</object>

如您所见,我有几个称为对象的 XML 标记。我想要做的是遍历 XML(当前使用 StAX)并将每个单独的对象保存为单独的字符串(除非使用 XML 时有更好的选择)在字符串的 HashSet 中。我可以使用以下命令轻松找到开始标签...

case XMLStreamConstants.START_ELEMENT:
                StartElement startElement = (StartElement) event;
                QName elementStartName = startElement.getName();


                if(elementStartName.getLocalPart() == "object"){
                    for (Iterator it = startElement.getAttributes(); it.hasNext();) {
                        Attribute attr = (Attribute) it.next();
                        String currentAttr = attr.getName().toString();
                        String attrValue = attr.getValue();

                        if(attrValue.contains("domain") && currentAttr == "class"){
                            System.out.println(attrValue);
                        }
                    }
                }

                break;

但我不知道如何开始阅读两者之间的那段代码<object class="domain">并将其存储为字符串,最终以XMLStreamConstants.END_ELEMENT. 我知道这是非常具体的并且缺少许多细节,但是如果有人有任何高层次的想法,将不胜感激。

4

0 回答 0