我想知道用于存储My XML的标签和值的数据结构,以便我可以轻松地从代码中检索值,而且我不必多次解析xml:
XML structure:
<suite>
<loop>
<test>
<!-- comment1 -->
<step>
<action>CONNECT</action>
<request>sys</request>
</step>
<!-- comment2 -->
<step>
<action>abc</action>
<request>request</request>
<expectedResponse>enable</expectedResponse>
<validator>contains</validator>
</step>
</test>
</loop>
</suite>
我想使用数据结构将值存储在一个地方,有人可以提出建议吗?
答案 0 :(得分:1)
我想使用数据结构Can将值存储在一个地方 有人建议吗?
一个类是一个数据结构,所以只需要一个。
选择任何java xml序列化库,有很多。这将允许您解析xml,生成类,如果需要,将其反序列化为xml。
如果这感觉有点矫枉过正,您可以手动解析xml并在自定义类中设置值。在你的情况下,我只会使用一个库。
答案 1 :(得分:1)
您需要使用marshall / unmarshall库。
开始创建与xml文档匹配的java类。为此,我建议您使用JAXB-2插件。它是一个maven插件,可以从xsd架构生成Java Class。您必须具有xml对象所遵循的模式。您只需要为插件提供此xsd架构,它就会创建Java类。如果您没有架构(您应该),则必须使用必要的字段来存储xml的值。
拥有Java类后,只需使用编组/解组库从xml中提取数据。其中最常用的是JAXB。
您可以按照文档在官方文档https://jaxb.java.net/tutorial/section_3_1-Unmarshalling-and-Using-the-Data.html#Unmarshalling
中解组xml