我有以下 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
. 我知道这是非常具体的并且缺少许多细节,但是如果有人有任何高层次的想法,将不胜感激。