将java对象转换为XML?

时间:2018-02-20 01:53:43

标签: java xml jaxb

我有一个Java对象,并试图以最干净的方式实现XML生成。

所需的XML

<fes:PropertyIsLessThan matchAction="ANY" matchCase="false">

  <fes:ValueReference>name</fes:ValueReference>

  <fes:Function name="sub">

    <fes:Literal>my-id</fes:Literal>

  </fes:Function>

</fes:PropertyIsLessThan>

<fes:And>

  <fes:PropertyIsGreaterThanOrEqualTo matchAction="ANY" matchCase="false">

    <fes:ValueReference>attName</fes:ValueReference>

    <fes:Literal>5</fes:Literal>

  </fes:PropertyIsGreaterThanOrEqualTo>

  <fes:PropertyIsLike escapeChar="\" matchCase="false" singleChar="?" wildCard="*">

    <fes:ValueReference>title</fes:ValueReference>

    <fes:Literal>greetings</fes:Literal>

  </fes:PropertyIsLike>

</fes:And>

我正在使用此处的过滤器功能:http://docs.geoserver.org/stable/en/user/filter/function.html

我看到那里有JaxB可能有助于将POJO转换为XML。但是有什么能让这项任务相当直接?我试图理解如何将类转换为有效的XML的过程,如下所示。

1 个答案:

答案 0 :(得分:1)

免责声明:我是为{JAXB编译OGC架构的OGC Schemas Project的作者。

我猜你在其中一个版本中使用OGC Filter架构(可能是2.0)。 OGC Schemas Project提供预编译的OGC模式,包括过滤模式。

要使用它,请导入

<dependency>
    <groupId>org.jvnet.ogc</groupId>
    <artifactId>filter-v_2_0</artifactId>
    <version>2.6.1</version>
</dependency>

进入你的项目。然后,您可以使用上下文路径JAXBContext创建"net.opengis.filter.v_2_0:net.opengis.ows.v_1_1_0:org.hisrc.w3c.xlink.v_1_0"。您可以使用此JAXBContext来解组XML和编组对象结构。