我正在本教程中http://www.hermosaprogramacion.com/2015/05/tutorial-para-crear-un-lector-rss-en-android/
在Android上创建一个RSS应用程序我删除了一些我不想解析的标签,所有内容都使用原始网址“福布斯”RSS“http://www.forbes.com/most-popular/feed”运行正常。一旦我更改了forbes的RSS网址,我想使用“http://aplicaciones.esi.us.es/antalumnos/rss.xml”我收到此错误:
06-20 13:51:44.961 11441-11494/com.herprogramacin.hermosaprogramacion W/System.err: org.simpleframework.xml.core.ValueRequiredException: Empty value for @org.simpleframework.xml.Element(data=false, name=description, required=true, type=void) on field 'descripcion' private java.lang.String com.herprogramacin.hermosaprogramacion.RssParse.Item.descripcion in class com.herprogramacin.hermosaprogramacion.RssParse.Item at line 11
06-20 13:51:44.971 11441-11494/com.herprogramacin.hermosaprogramacion W/System.err: at org.simpleframework.xml.core.Composite.readInstance(Composite.java:580)
06-20 13:51:44.971 11441-11494/com.herprogramacin.hermosaprogramacion W/System.err: at org.simpleframework.xml.core.Composite.readUnion(Composite.java:549)
06-20 13:51:44.971 11441-11494/com.herprogramacin.hermosaprogramacion W/System.err: at org.simpleframework.xml.core.Composite.readElement(Composite.java:532)
06-20 13:51:44.971 11441-11494/com.herprogramacin.hermosaprogramacion W/System.err: at org.simpleframework.xml.core.Composite.readElements(Composite.java:445)
06-20 13:51:44.971 11441-11494/com.herprogramacin.hermosaprogramacion W/System.err: at org.simpleframework.xml.core.Composite.access$400(Composite.java:59)
06-20 13:51:44.971 11441-11494/com.herprogramacin.hermosaprogramacion W/System.err: at org.simpleframework.xml.core.Composite$Builder.read(Composite.java:1383)
06-20 13:51:44.971 11441-11494/com.herprogramacin.hermosaprogramacion W/System.err: at org.simpleframework.xml.core.Composite.read(Composite.java:201)
06-20 13:51:44.971 11441-11494/com.herprogramacin.hermosaprogramacion W/System.err: at org.simpleframework.xml.core.Composite.read(Composite.java:148)
06-20 13:51:44.971 11441-11494/com.herprogramacin.hermosaprogramacion W/System.err: at org.simpleframework.xml.core.Traverser.read(Traverser.java:92)
06-20 13:51:44.971 11441-11494/com.herprogramacin.hermosaprogramacion W/System.err: at org.simpleframework.xml.core.CompositeInlineList.read(CompositeInlineList.java:190)
第一行说“空值描述”但我不明白为什么。这是我的Item Class的代码,有2个文件更多RSS和频道:
import org.simpleframework.xml.Element;
import org.simpleframework.xml.Namespace;
import org.simpleframework.xml.Root;
/**
* Clase que representa la etiqueta <item> del feed
*/
@Root(name = "item", strict = false)
public class Item {
@Element(name="title")
private String title;
@Element(name="description", required=false)
private String descripcion;
@Element(name="link")
private String link;
public Item() {
}
public Item(String title, String descripcion, String link) {
this.title = title;
this.descripcion = descripcion;
this.link = link;
;
}
public String getTitle() {
return title;
}
public String getDescripcion() {
return descripcion;
}
public String getLink() {
return link;
}
}
我想使用的网址有问题吗?
答案 0 :(得分:1)
将description元素移动到新类中 为此,您需要替换
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div class="map-section">
<div class="map-container">
<div id="map">
<img src="http://openpathinvestments.com/wp-content/themes/boilerplate/images/map-blue.png" alt="">
<div class="locations">
<div class="dot dot-oregon-greshman"></div>
<div class="tooltip tooltip-oregon-greshman">
<strong>Stark Street Crossings</strong>
<p>Greshman, Oregon 97030</p>
<p><a href="">Property Profile</a> | <a href="">Website</a>
</p>
</div>
<div class="dot dot-oregon-oregon-city"></div>
<div class="tooltip tooltip-oregon-oregon-city">
<strong>The Preserve</strong>
<p>Oregon City, Oregon 97045</p>
<p><a href="">Property Profile</a> | <a href="">Website</a>
</p>
</div>
</div>
</div>
</div>
</div>
与
@Element(name="description", required=false)
private String descripcion;
然后,创建一个新文件Description.java,如:
@Element(name="description", required=false)
private Description descripcion;
在这种情况下,只要description标记为空,就会在反序列化过程中跳过它,并且您的public class Description
{
@Text(required=false)
String descriptionText;
public String getText()
{
return descriptionText;
}
}
字段将只为空。
答案 1 :(得分:0)
这看起来是正确的,但问题可能在于Channel类。频道也有描述。您的问题中显示的错误提到描述是必需的(在Item类中它是可选的。可能是您缺少Channel类:@Element(name =&#34; description&#34;,required = false)?