标签: simple-framework

使用SimpleFramework解析日期

我收到一个XML响应,其属性包含以下值:

Wed Sep 05 10:56:13 CEST 2012
Run Code Online (Sandbox Code Playgroud)

我在我的模型类中定义了一个带注释的字段:

@Attribute(name = "regDate")
private Date registerDate;
Run Code Online (Sandbox Code Playgroud)

但是它引发了一个例外:

java.text.ParseException: Unparseable date: "Wed Sep 05 10:56:13 CEST 2012" (at offset 0)
Run Code Online (Sandbox Code Playgroud)

是否可以在SimpleFramework注释中定义日期格式?

该日期字符串应包含哪种格式?

java date simple-framework

15
推荐指数
1
解决办法
4387
查看次数

使用"已使用元素"解析XML Feed模具

我正在尝试使用Android中的SimpleXML解析XML Feed:http://backend.deviantart.com/rss.xml? type = defiation&q = by%3Aspyed+sort%3Atime+meta% 3Aall

样品在这里:

<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:creativeCommons="http://backend.userland.com/creativeCommonsRssModule" xmlns:media="http://search.yahoo.com/mrss/" version="2.0">
    <channel>
        <title>DeviantArt: spyed's</title>
        <link>http://www.deviantart.com/?order=5&amp;q=by%3Aspyed</link>
        <description>DeviantArt RSS for sort:time by:spyed</description>
        <language>en-us</language>
        <copyright>Copyright 2015, DeviantArt.com</copyright>
        <pubDate>Thu, 20 Aug 2015 07:45:31 PDT</pubDate>
        <generator>DeviantArt.com</generator>
        <docs>http://blogs.law.harvard.edu/tech/rss</docs>
        <atom:icon>http://st.deviantart.net/minish/touch-icons/android-192.png</atom:icon>
        <atom:link type="application/rss+xml" rel="self" href="http://backend.deviantart.com/rss.xml?q=sort%3Atime+by%3Aspyed&amp;type=deviation" />
        <atom:link rel="next" href="http://backend.deviantart.com/rss.xml?q=sort%3Atime+by%3Aspyed&amp;type=deviation&amp;offset=60" />
        <item>
            <title>Happy 15th Birthday!</title>
            <link>http://spyed.deviantart.com/journal/Happy-15th-Birthday-552416478</link>
            <guid isPermaLink="true">http://spyed.deviantart.com/journal/Happy-15th-Birthday-552416478</guid>
            <pubDate>Sun, 09 Aug 2015 01:41:54 PDT</pubDate>
            <media:title type="plain">Happy 15th Birthday!</media:title>
            <media:keywords />
            <media:rating>nonadult</media:rating>
            <media:category label="Personal">journals/personal</media:category>
            <media:credit role="author" scheme="urn:ebu">spyed</media:credit>
            <media:credit role="author" scheme="urn:ebu">http://a.deviantart.net/avatars/s/p/spyed.gif</media:credit>
            <media:copyright …
Run Code Online (Sandbox Code Playgroud)

java xml rss simple-framework

15
推荐指数
1
解决办法
3254
查看次数

Android:错误包括/重新包装引用javax核心类的依赖项

我正在使用Maven作为构建工具开发Android应用程序.我设法正确设置了evertyhing(maven依赖项被导出到apk等),但是我还有一个问题让我发疯.

我想在我的POM文件中包含对simpleframework的xml解析器的依赖,如下所示:

<dependency>
    <groupId>org.simpleframework</groupId> 
    <artifactId>simple-xml</artifactId>
    <version>2.5.3</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)

当我mvn install在项目上发布时,我收到以下错误(截断):

trouble processing "javax/xml/namespace/NameSpaceContext.class" ...
Run Code Online (Sandbox Code Playgroud)

我知道引用这些javax类的简单xml解析器的错误结果,但我还没有找到解决方案(设置--core-library标志是没用的).

我目前正试图用maven-jarjar-pluging重新打包依赖,但这似乎也不起作用.

任何人都可以帮我解决这个问题吗?很多,非常感谢提前!

java android jarjar maven simple-framework

14
推荐指数
1
解决办法
2917
查看次数

使用Simple XML并在Android中获取NoClassDefFoundError

我正在尝试使用Simple XML在我的Android应用程序中将我的java对象转换为XML格式.

我在线上得到NoClassDefFoundError

Serializer serializer = new Persister();
Run Code Online (Sandbox Code Playgroud)

java.lang.NoClassDefFoundError:org.simpleframework.xml.core.Persister

我有simple-xml-2.6.1.jar项目类路径,当我得到时,NoClassDefFoundError我也把这3个罐放在classpath中

stax-1.2.0.jar

stax-api-1.0.1.jar

xpp3-1.1.3_8.jar
Run Code Online (Sandbox Code Playgroud)

但是毫无用处.

还有NoClassDefFoundError.

任何形式的帮助将不胜感激.谢谢.

java android xml-serialization simple-framework

14
推荐指数
3
解决办法
6393
查看次数

使用SimpleXML,如何在反序列化时忽略我在对象类中没有的xml元素

我在Android上使用SimpleXml来反序列化我无法控制的xml.现在,每次xml更改时,它都会对我的应用程序进行制动,因为我没有在对象类中定义新元素.有没有办法可以指定SimpleXML来忽略这些错误图?看了一下文档,找不到任何可以帮我解决的问题.

android simple-framework

14
推荐指数
1
解决办法
6142
查看次数

Android,org.simpleframework.xml持久性异常,元素'foo'已被使用

我使用org.simpleframework.xml来处理Android应用程序的一些xml任务,并遇到以下错误,我无法弄清楚.

org.simpleframework.xml.core.PersistenceException: Element 'album' is already used with @org.simpleframework.xml.ElementList(inline=false, name=album, entry=, data=false, empty=true, required=true, type=void) on field 'albums' private java.util.List us.blah.sonar.xsd.simple.AlbumList.albums at line 5
at org.simpleframework.xml.core.Variable$Adapter.read(Variable.java:484)
at org.simpleframework.xml.core.Composite.readVariable(Composite.java:613)
at org.simpleframework.xml.core.Composite.readInstance(Composite.java:573)
Run Code Online (Sandbox Code Playgroud)

以下是我试图解组的XML示例:

<albumList> 
    <album id="3985" parent="3301" title="Bob Dylan - The Reissue Series Sampler" album="Bob Dylan - The Reissue Series Sampler" artist="48 - Masked and Anonymous [BSO] (2003)" isDir="true" created="2011-12-09T11:52:12"/> 
    <album id="3986" parent="3301" title="Soundtrack - Masked & Anonymous" album="Soundtrack - Masked & Anonymous" artist="48 - Masked and Anonymous [BSO] (2003)" isDir="true" coverArt="3986" …
Run Code Online (Sandbox Code Playgroud)

java xml android simple-framework

13
推荐指数
1
解决办法
6360
查看次数

无法在Android Retrofit2 converter-simplexml库中为我的类创建转换器

我使用Retrofit2 converter-simplexml库,当我使用converter-gson时代码运行成功,但是当我添加simplexmlConverter时,我得到了一个异常:

java.lang.IllegalArgumentException: Unable to create converter for java.util.List<com.rengwuxian.rxjavasamples.model.ZhuangbiImage>
Caused by: java.lang.IllegalArgumentException: Could not locate ResponseBody converter for java.util.List<com.rengwuxian.rxjavasamples.model.ZhuangbiImage>.
Run Code Online (Sandbox Code Playgroud)

这是我试图执行复古http请求的地方:

private void search(String key) {
    subscription = getZhuangbiApi()
            .search(key)
            .subscribeOn(Schedulers.io())
            .observeOn(AndroidSchedulers.mainThread())
            .subscribe(observer);
}

public static ZhuangbiApi getZhuangbiApi() {
    if (zhuangbiApi == null) {
        Retrofit retrofit = new Retrofit.Builder()
                .client(okHttpClient)
                .baseUrl(baseUrl)
                .addConverterFactory(simpleXmlConverterFactory)
                .addCallAdapterFactory(rxJavaCallAdapterFactory)
                .build();
        zhuangbiApi = retrofit.create(ZhuangbiApi.class);

    }
    return zhuangbiApi;
}
Run Code Online (Sandbox Code Playgroud)

我的界面变成了我的API

public interface ZhuangbiApi {

@GET("merchant/list")
Observable<List<ZhuangbiImage>> search(@Query("app_code") String appCode);
}
Run Code Online (Sandbox Code Playgroud)

和壮比图像课

@Root(name = "item")
public class ZhuangbiImage {

@Element(name …
Run Code Online (Sandbox Code Playgroud)

android simple-framework retrofit

13
推荐指数
1
解决办法
2457
查看次数

使用SimpleXML库的XML - Android上的性能

我正在使用Simple XML库来处理Android应用程序中的XML文件.这些文件可以变得非常大 - 大约1Mb,并且可以非常深入地嵌套,因此它们相当复杂.

当应用程序通过Simple API加载其中一个文件时,最多可能需要30秒才能完成.目前我正在将FileInputStream传递给Simple的Persister类的[read(Class,InputStream)] [2]方法.实际上,它只读取XML节点并将数据映射到模型对象的实例,从而在内存中复制XML树结构.

我的问题是如何改善Android的性能?我目前的想法是将文件的内容读入字节数组,并将ByteArrayInputStream传递给Persister的read方法.我想处理文件的时间会更快,但我不确定节省的时间是否会被首先读取整个文件所花费的时间所抵消.内存限制也可能是一个问题.

这是傻瓜差事吗?在这种情况下,我还能做些什么来提高性能吗?如果不是,我将不得不求助于改进用户对加载文件的进度的反馈.

一些警告:

1)我无法更改我正在使用的XML库 - 有问题的代码是在桌面,移动和Web应用程序中使用的"引擎"的一部分.改变它的开销对于时间来说太过分了.

2)数据文件由用户创建,因此我无法控制嵌套的大小/深度.

java xml android xml-deserialization simple-framework

12
推荐指数
1
解决办法
2659
查看次数

Android,simple-xml,如何声明元素列表?

我有这个数据结构:

<estates version="0.1">

 <provider name="Foo">
  <estate id="12345678">
   <description>aaa</description>
   <size>300</size>
  </estate>
  <estate id="12345679">
   <description>bbb</description>
   <size>450</size>
  </estate>
 </provider>

 <provider name="Bar">
  <estate id="987654321">
   <description>yyy</description>
   <size>100</size>
  </estate>
  <estate id="987654320">
   <description>zzz</description>
   <size>240</size>
  </estate>
 </provider>

</estates>
Run Code Online (Sandbox Code Playgroud)

我从我的网络服务获得.我想使用simple-xml库来实例化Android"Estates","Provider"和"Estate"类.

Class Estates.java:

@Root
public class Estates {
   @ElementList
   private List<Estate> providers;

   @Attribute
   private String version;
}
Run Code Online (Sandbox Code Playgroud)

Class Estate.java:

public class Estate { 
   @Attribute
   private String id;

   @Element(required=false)
   private String description;

   @Element(required=false)
   private Integers size;
}
Run Code Online (Sandbox Code Playgroud)

即,我使用@ElementList(List&lt;Estate&gt; providers)为提供者,但这样我只能使用一个提供者列表(有两个列表,如我的例子,给出:

"ERROR/com.simplexml.XmlActivity(4266):未捕获的异常:org.simpleframework.xml.core.PersistenceException:元素'providers'在第1行声明了两次").

更多,我无法获得"名称"属性.在实践中,我想我必须解雇" List<Estate> providers"方法,但如何更换它?我应该使用"收藏品"吗?

android simple-framework

12
推荐指数
1
解决办法
7228
查看次数

SimpleXml框架 - 嵌入式集合

我尝试使用简单的序列化嵌入式集合.例如 :

Map<String, List<MyClass>>
Run Code Online (Sandbox Code Playgroud)

我已经在MyClass中添加了必要的注释,我尝试使用@ElementMap但它不起作用: Exception in thread "main" org.simpleframework.xml.transform.TransformException: Transform of class java.util.ArrayList not supported

如果它只是

@ElementMap Map<String, MyClass>
Run Code Online (Sandbox Code Playgroud)

它工作正常.我不知道如何处理嵌入式收藏.我知道@ElementList注释但在这种情况下不知道如何使用它.任何提示?

java collections xml-serialization simple-framework

11
推荐指数
1
解决办法
6035
查看次数