gpt4 book ai didi

java - 使用 SimpleXML 的 XML 声明标记

转载 作者:太空狗 更新时间:2023-10-29 22:55:05 24 4
gpt4 key购买 nike

我开始使用带有注释的简单 XML 框架 ( link ) 用于 Java,但我不明白,如何在 XML 声明标记前添加 <?xml version="1.0" encoding="UTF-8" ?>在 XML 文件中。所以我的问题是:如何将 XML 声明作为第一个标记?

package simplexml;

import org.simpleframework.xml.Attribute;
import org.simpleframework.xml.Element;
import org.simpleframework.xml.Root;

@Root
public class Example {

@Element
private String text;

@Attribute
private int index;

public Example(String text, int index) {
this.text = text;
this.index = index;
}

public String getMessage() {
return text;
}

public int getId() {
return index;
}
}

测试:

public static void main(String[] args) {
Serializer serializer = new Persister();
Example example = new Example("Example message", 123);
File result = new File("example.xml");

try {
serializer.write(example, result);
} catch (Exception e) {
e.printStackTrace();
}
}

产生:

<example index="123">
<text>Example message</text>
</example>

我想要的东西:

<?xml version="1.0" encoding="UTF-8" ?>
<example index="123">
<text>Example message</text>
</example>

谢谢!另外,我在哪里可以找到这些东西?

最佳答案

我使用 Spring for Android 来发送 XML 请求,并且遇到了同样的问题。这是基于@implicit_knowledge 的解决方案使其工作的代码,以备不时之需。

RestTemplate restTemplate = new RestTemplate();             
restTemplate.getMessageConverters().add(new StringHttpMessageConverter());
Serializer serializer = new Persister(new Format("<?xml version=\"1.0\" encoding= \"UTF-8\" ?>"));
restTemplate.getMessageConverters().add(new SimpleXmlHttpMessageConverter(serializer));
restTemplate.postForObject(URL, udata, String.class);

关于java - 使用 SimpleXML 的 XML 声明标记,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10951223/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com