【问题标题】:Mapping of XML data to/from a java object(s) using Dozer使用 Dozer 将 XML 数据映射到 java 对象/从 java 对象映射
【发布时间】:2015-01-22 08:41:03
【问题描述】:

使用推土机测试 XML 数据与 java 对象之间的映射。

也就是说,给定一个示例 XML 文件,将其映射到新的 java 类,并为各种元素使用适当的 get/set 方法

下面给出了一个示例 XML 文件:

<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<cXML payloadID="1272549644772.1050674118.000000197@2Vmg9c/TnwT1ZqGdAuiHQvbDmNc=" timestamp="2010-04-29T07:00:44-07:00" version="1.2.020">
        <Header>
                <From>
                        <Credential domain="Test_Code">
                                <Identity>ID_SYSTEM</Identity>
                        </Credential>
                </From>
                <To>
                        <Credential domain="Test_Code">
                                <Identity>ID_SYSTEM</Identity>
                        </Credential>
                </To>
                <Sender>
                        <Credential domain="AribaNetworkUserId">
                                <Identity>test.test@sial.com</Identity>
                                <SharedSecret>sigma123</SharedSecret>
                        </Credential>
                        <UserAgent>Sender Application 1.0</UserAgent>
                </Sender>
        </Header>
</cXML>

我需要将它映射到新的 java 类

请帮帮我。

【问题讨论】:

  • 你尝试了什么?如果两个类相同dozer 自动映射它们...
  • @jordi 我什么都没试过。我搜索了,但我找不到任何东西。

标签: java xml dozer cxml


【解决方案1】:

基本dozer映射非常简单,如果属性有相同的名称/类型,它会自动映射:

<mapping>
    <class-a>org.dozer.vo.TestObject</class-a>
    <class-b>org.dozer.vo.TestObjectPrime</class-b>
</mapping>

如果你有一些不同的命名属性:

<mapping> 
    <class-a>org.dozer.vo.TestObject</class-a>
    <class-b>org.dozer.vo.TestObjectPrime</class-b>   
    <field>
      <a>one</a>
      <b>onePrime</b>
    </field>
</mapping>  

有关更多信息,您可以在the user guideXML mappings 的示例中找到

【讨论】:

    【解决方案2】:

    示例 dozerMapping.xml 文件。 http://dozer.sourceforge.net/schema/beanmapping.xsd">

    <mapping map-id="a">
        <class-a>com.java.beans.Employee</class-a>
        <class-b>com.java.beans.Address</class-b>
        <field>
            <a>streetNumber</a>
            <b>streetNumber</b>
        </field>
        <field>
            <a>city</a>
            <b>city</b>
        </field>
        <field>
            <a>state</a>
            <b>state</b>
        </field>
        <field>
            <a>country</a>
            <b>country</b>
        </field>
    </mapping>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-07-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-07-18
      • 1970-01-01
      • 2019-04-07
      相关资源
      最近更新 更多