Jackson的XML属性保留了元素的顺序

问题描述

我正在将下面的JSON转换为XML

{
  "externalReference": {
    "externalSystem": "Demo+","externalIdentifier": "144000"
  },"setRequest": {
    "serviceInstanceRequest": [
      {
        "serviceElements": {
          "serviceElement": [
            {
              "elementName": "Access speed","elementSpecificDetails": {
                "param": [
                  {
                    "attributeID": "2","text": "Old Value"
                  },{
                    "attributeID": "3","text": "New Value"
                  }
                ],"value": [
                  "1000000","1000000"
                ]
              },"elementID": "ID1"
            }
          ]
        }
      }
    ]
  },"majorVersion": "1","minorVersion": "2"

我希望输出的格式如下:

<![CDATA[<SufficiencyRequest majorVersion="" minorVersion="">
    <externalReference>
        <externalSystem>Demp+</externalSystem>
        <externalIdentifier>144000</externalIdentifier>
    </externalReference>
    <setRequest setName="B">
        <serviceInstanceRequest instanceID="Primary">
            <serviceElements>
                <serviceElement elementID="ID1">
                    <elementName>Access speed</elementName>
                    <elementSpecificDetails>
                        <paramattributeID="2">Old Value</param>
                        <value>1000000</value>
                        <param attributeID="3">New Value</param>
                        <value>1000000</value>
                    </elementSpecificDetails>
                </serviceElement>
            </serviceElements>
        </serviceInstanceRequest>
    </setRequest>
</SufficiencyRequest>]]

但是正在获得如下输出,其中不保留参数和值的顺序。

<![CDATA[<SufficiencyRequest majorVersion="" minorVersion="">
    <externalReference>
        <externalSystem>Demp+</externalSystem>
        <externalIdentifier>144000</externalIdentifier>
    </externalReference>
    <setRequest setName="B">
        <serviceInstanceRequest instanceID="Primary">
            <serviceElements>
                <serviceElement elementID="ID1">
                    <elementName>Access speed</elementName>
                    <elementSpecificDetails>
                        <paramattributeID="2">Old Value</param>
                        <param attributeID="3">New Value</param>
                        <value>1000000</value>
                        <value>1000000</value>
                    </elementSpecificDetails>
                </serviceElement>
            </serviceElements>
        </serviceInstanceRequest>
    </setRequest>
</SufficiencyRequest>]]

我正在使用这个库

<dependency>            
    <groupId>com.fasterxml.jackson.dataformat</groupId>           
    <artifactId>jackson-dataformat-xml</artifactId> 
</dependency>

并尝试了https://stackify.com/java-xml-jackson/

中提供的所有注释

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)