2

Simple Framework を使用して Java で解析したい Rss フィードがあります。同じ名前の 2 つの要素に問題がありますが、そのうちの 1 つに名前空間が割り当てられています。xml の例を次に示します。

<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:dc="http://purl.org/dc/elements/1.1/">
    <item>
        <title>Regular Titel</title>
        <dc:title>Dc Titel</dc:title>
    </item>
</rss>

現在、私の Item.class は次のようになっています。

@Root
public class Item {

    @Namespace(reference = "http://purl.org/dc/elements/1.1/", prefix = "dc")
    @Element(name="title")
    public String dcTitle;

    @Element
    public String title;
}

これは明らかに PersistenceException (フィールド 'title' に名前 'title' の重複注釈....) を引き起こしますが、これをどのように行うべきか本当にわかりません。誰かがこれを理解するのを手伝ってくれませんか!

アップデート

解決策は機能しますが、オブジェクトのシリアル化に問題があります。私が宣言した名前空間は、出力 xml の要素に割り当てられません。

4

2 に答える 2

1

試す

@Root
public class Item {

    @Namespace(reference = "http://purl.org/dc/elements/1.1/", prefix = "dc")
    @Path("title[1]")
    @Text
    public String dcTitle;

    @Path("title[2]")
    @Text
    public String title;
}
于 2013-05-20T10:45:22.333 に答える
0

これを試しましたか?

@Root
@Namespace(reference = "http://purl.org/dc/elements/1.1/", prefix = "dc")
public class Item {

    @Element (name = "dc:title")
    public String dcTitle;

    @Element (name = "title")
    public String title;
}
于 2016-02-11T13:15:21.887 に答える