java中如何自定义xml文件中的xml格式

我正在使用 Jaxb Marshaller 将 java 对象转换为 xml,并将 Marshaller.JAXB_FORMATTED_OUTPUT 设置为 true。这给了我以下格式的 xml:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<xml>
    <time>20210716124226</time>
    <details>
        <employee id="100" time="20210716124212">
            <name>asd</name>
            <empid>1</empid>           
            <jobCategory>Contract</jobCategory>            
        </employee>
        <employee id="102" time="20210716124212">
            <name>ative</name>
            <empid>2</empid>            
            <jobCategory>Permanent</jobCategory>                    
        </employee>
    </details>
</xml>

但要求是生成以下格式的 xml,没有缩进:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<xml>
<time>20210716124226</time>
<details>
<employee id="100" time="20210716124212"><name>xyz</name><empid>1</empid><jobCategory>Contract</jobCategory></employee>
<employee id="102" time="20210716124212"><name>abc</name><empid>2</empid><jobCategory>Permanent</jobCategory></employee>
</details>
</xml>

我如何使用 java 实现这个结果?

wwwliuscom1 回答:java中如何自定义xml文件中的xml格式

令人恼火的是,我们不得不告诉使用 XML 的人正确解析它的次数,以及为无法正确解析它的人生成 XML 的问题而陷入困境的人数。但这就是生活 - 人们直到被困在将圆形插头插入方孔的任务中才会意识到符合标准的价值。要做到这一点,就需要适配器——而且最好将适配器放在接口的不符合要求的一侧,在这种情况下是消费者。但没有告诉人们。

在这种情况下,编写适配器并不困难。 Xalan 和 Saxon XML 序列化程序都可以选择使用 indent-spaces=0 进行缩进,这应该会提供您想要的格式,因此您只需使用此选项集对 XML 进行身份转换即可。

本文链接:https://www.f2er.com/6747.html

大家都在问