用于存储XML解析值的数据结构

时间:2014-05-11 13:14:55

标签: java xml xml-parsing

我想知道用于存储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> 

我想使用数据结构将值存储在一个地方,有人可以提出建议吗?

2 个答案:

答案 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