16

Java 用の注釈 (リンク<?xml version="1.0" encoding="UTF-8" ?>) を使用して単純な XML フレームワークを使用し始めていますが、XML ファイルで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>

ありがとう!また、どこでそのようなことを調べることができますか?

4

1 に答える 1

20

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);
于 2012-09-13T20:15:56.940 に答える