Кстати, я работаю с RSS-лентами.

ался обернуть набор классов на основе Simple XML (Java Serializer) вокруг RSS-канала. Образец подачи

<?xml version="1.0" encoding="UTF-8"?>
<rss  xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0">
<channel>
    <title>Coding Horror</title>
    <link>http://www.codinghorror.com/blog/</link>
    <description>programming and human factors - Jeff Atwood</description>
    <language>en-us</language>

    <lastBuildDate>Wed, 04 May 2011 20:34:18 -0700</lastBuildDate>
    <pubDate>Wed, 04 May 2011 20:34:18 -0700</pubDate>
    <generator>http://www.typepad.com/</generator>
    <docs>http://blogs.law.harvard.edu/tech/rss</docs>

    <image>
        <title>Coding Horror</title>
        <url>http://www.codinghorror.com/blog/images/coding-horror-official-logo-small.png</url>
        <width>100</width>
        <height>91</height>
        <description>Logo image used with permission of the author. (c) 1993 Steven C. McConnell. All Rights Reserved.</description>
        <link>http://www.codinghorror.com/blog/</link>
    </image>

    <xhtml:meta xmlns:xhtml="http://www.w3.org/1999/xhtml" name="robots" content="noindex" />   
    <atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/codinghorror" />        

</channel>
 </rss>

Ошибка, которую я получаю при запуске кода:

org.simpleframework.xml.core.PersistenceException: Element 'link' declared twice at line 24

И ошибка достаточно справедлива, потому что имя конкретного элемента встречается дважды в xml, но по-разному.

Первый элемент ссылки здесь

<link>http://www.codinghorror.com/blog/</link>

Его прямо под тегом канала. И тогда следующий тег ссылки снова находится под Каналом в следующем формате

<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/codinghorror" />

В классе Channel.java у меня не может быть двух переменных с одинаковыми именами. Я попытался изменить имя переменной на blogLink и попытался дать имя в аннотации элемента, и Eclipse дал мне эту ошибку

 Change was

@Element("name=link")


Result is

The attribute value is undefined for the annotation Element

Я знаю, что здесь что-то упущено, но я не в состоянии разобраться в этом. Буду признателен за любую помощь в этом.

ОБНОВИТЬ

Класс канала

@Element(name="link")
@Namespace(reference="http://www.w3.org/2005/Atom",prefix="atom")
private atomlink atomlink;

public atomlink getAtomLink() {
    return atomlink;
}

Класс ссылки

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

  @Root(name="link")
  @Namespace(reference="http://www.w3.org/2005/Atom",prefix="atom10")
  public class atomlink {

@Attribute 
private String rel;

public String getRel() {
    return rel;
}

}

Я изменил имена классов, и все же это указывает на ту же ошибку.

Ответы на вопрос(6)

Ваш ответ на вопрос