- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个大型 xml 树,其结构如下:
<?xml version="1.0"?>
<SampleElem xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<Children>
<SampleElem>
<Children/>
<Id>1</Id>
<Value>Test2</Value>
</SampleElem>
</Children>
<Id>-1</Id>
<Value>Test1</Value>
</SampleElem>
我正在尝试使用 simpleframework 反序列化它:
Serializer serializer = new Persister();
SampleElem root = serializer.read(SampleElem.class, someStream, false);
一段时间后,应用程序因错误而停止。从设备登录:
E/AndroidRuntime(13591): FATAL EXCEPTION: AsyncTask #1
E/AndroidRuntime(13591): java.lang.RuntimeException: An error occured while executing doInBackground()
E/AndroidRuntime(13591): at android.os.AsyncTask$3.done(AsyncTask.java:200)
E/AndroidRuntime(13591): at java.util.concurrent.FutureTask$Sync.innerSetException(FutureTask.java:274)
E/AndroidRuntime(13591): at java.util.concurrent.FutureTask.setException(FutureTask.java:125)
E/AndroidRuntime(13591): at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:308)
E/AndroidRuntime(13591): at java.util.concurrent.FutureTask.run(FutureTask.java:138)
E/AndroidRuntime(13591): at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1088)
E/AndroidRuntime(13591): at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:581)
E/AndroidRuntime(13591): at java.lang.Thread.run(Thread.java:1019)
E/AndroidRuntime(13591): Caused by: java.lang.StackOverflowError
E/AndroidRuntime(13591): at java.lang.StringBuilder.append(StringBuilder.java:217)
E/AndroidRuntime(13591): at java.lang.reflect.Modifier.toString(Modifier.java:285)
E/AndroidRuntime(13591): at java.lang.reflect.Method.toString(Method.java:538)
E/AndroidRuntime(13591): at java.lang.reflect.Method.equals(Method.java:361)
E/AndroidRuntime(13591): at org.apache.harmony.lang.annotation.AnnotationFactory.invoke(AnnotationFactory.java:307)
E/AndroidRuntime(13591): at $Proxy1.inline(Native Method)
E/AndroidRuntime(13591): at org.simpleframework.xml.core.ElementListLabel.getConverter(ElementListLabel.java:160)
E/AndroidRuntime(13591): at org.simpleframework.xml.core.CacheLabel.getConverter(CacheLabel.java:280)
E/AndroidRuntime(13591): at org.simpleframework.xml.core.Composite.readVariable(Composite.java:604)
E/AndroidRuntime(13591): at org.simpleframework.xml.core.Composite.readInstance(Composite.java:573)
E/AndroidRuntime(13591): at org.simpleframework.xml.core.Composite.readUnion(Composite.java:549)
E/AndroidRuntime(13591): at org.simpleframework.xml.core.Composite.readElement(Composite.java:532)
E/AndroidRuntime(13591): at org.simpleframework.xml.core.Composite.readElements(Composite.java:445)
E/AndroidRuntime(13591): at org.simpleframework.xml.core.Composite.access$400(Composite.java:59)
E/AndroidRuntime(13591): at org.simpleframework.xml.core.Composite$Builder.read(Composite.java:1383)
E/AndroidRuntime(13591): at org.simpleframework.xml.core.Composite.read(Composite.java:201)
E/AndroidRuntime(13591): at org.simpleframework.xml.core.Composite.read(Composite.java:148)
E/AndroidRuntime(13591): at org.simpleframework.xml.core.Traverser.read(Traverser.java:92)
E/AndroidRuntime(13591): at org.simpleframework.xml.core.CompositeList.populate(CompositeList.java:175)
E/AndroidRuntime(13591): at org.simpleframework.xml.core.CompositeList.read(CompositeList.java:120)
E/AndroidRuntime(13591): at org.simpleframework.xml.core.Composite.readVariable(Composite.java:623)
E/AndroidRuntime(13591): at org.simpleframework.xml.core.Composite.readInstance(Composite.java:573)
E/AndroidRuntime(13591): at org.simpleframework.xml.core.Composite.readUnion(Composite.java:549)
E/AndroidRuntime(13591): at org.simpleframework.xml.core.Composite.readElement(Composite.java:532)
E/AndroidRuntime(13591): at org.simpleframework.xml.core.Composite.readElements(Composite.java:445)
E/AndroidRuntime(13591): at org.simpleframework.xml.core.Composite.access$400(Composite.java:59)
E/AndroidRuntime(13591): at org.simpleframework.xml.core.Composite$Builder.read(Composite.java:1383)
E/AndroidRuntime(13591): at org.simpleframework.xml.core.Composite.read(Composite.java:201)
E/AndroidRuntime(13591): at org.simpleframework.xml.core.Composite.read(Composite.java:148)
E/AndroidRuntime(13591): at org.simpleframework.xml.core.Traverser.read(Traverser.java:92)
E/AndroidRuntime(13591): at org.simpleframework.xml.core.CompositeList.populate(CompositeList.java:175)
E/AndroidRuntime(13591): at org.simpleframework.xml.core.CompositeList.read(CompositeList.java:120)
E/AndroidRuntime(13591): at org.simpleframework.xml.core.Composite.readVariable(Composite.java:623)
E/AndroidRuntime(13591): at org.simpleframework.xml.core.Composite.readInstance(Composite.java:573)
E/AndroidRuntime(13591): at org.simpleframework.xml.core.Composite.readUnion(Composite.java:549)
E/AndroidRuntime(13591): at org.simpleframework.xml.core.Composite.readElement(Composite.java:532)
E/AndroidRuntime(13591): at org.simpleframework.xml.core.Composite.readElements(Composite.java:445)
E/AndroidRuntime(13591): at org.simpleframework.xml.core.Composite.access$400(Composite.java:59)
E/AndroidRuntime(13591): at org.simpleframework.xml.core.Composite$Builder.read(Composite.java:1383)
E/AndroidRuntime(13591): at org.simpleframework.xml.core.Composite.read(Composite.java:201)
E/AndroidRuntime(13591): at org.simpleframework.xml.core.Composite.read(Composite.java:148)
E/AndroidRuntime(13591): at org.simpleframework.xml.core.Traverser.read(Traverser.java:92)
E/AndroidRuntime(13591): at org.simpleframework.xml.core.CompositeList.populate(CompositeList.java:175)
E/AndroidRuntime(13591): at org.simpleframework.xml.core.CompositeList.read(CompositeList.java:120)
E/AndroidRuntime(13591): at org.simpleframework.xml.core.Composite.readVariable(Composite.java:623)
E/AndroidRuntime(13591): at org.simpleframework.xml.core.Composite.readInstance(Composite.java:573)
E/AndroidRuntime(13591): at org.simpleframework.xml.core.Compos
数据完全正确,输入的xml完全有效。你有什么想法吗?
谢谢!
更新:
TreeStrategy 怎么样?应该如何使用呢?你有什么例子吗?
最佳答案
您无法在 Android 上更改默认堆栈大小或现有线程的堆栈大小。但是,您可以在创建线程时设置堆栈大小。使用完整的构造函数:
public Thread(ThreadGroup group, Runnable runnable, String threadName, long stackSize)
您可以将堆栈大小设置为最大 256KB。
因此,您的情况的策略是创建一个具有深堆栈的新线程,并在该线程上运行此解析代码。
关于java - Simpleframework 树反序列化时出现 java.lang.StackOverflowError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16429023/
我正在尝试使用 Retrofit 从 URL 获取书籍 xml 数据。但是当应用程序运行时,它显示错误。我是新来的所以请帮助我。这是错误信息: 02-20 23:06:37.943 23835
在 Android 上,我使用 SimpleFramework 来解析传入的 XML 并创建适当的对象(之后将其保存到 DB...) XML 的一部分如下所示: 00300001-0000-
我正在尝试使用 simpleframework 序列化第三方 (parasoft) xml 报告。
我有一个 XML 字符串,其属性包含整数值: 还有 Simple Framework 类描述了这个item: @Root public static class Item { @Attrib
我在一个项目中使用 simpleframework ( http://simple.sourceforge.net/ ) 来满足我的序列化/反序列化需求,但在处理空/空字符串值时它没有按预期工作(好吧
我收到一个 XML 响应,其属性包含以下值: Wed Sep 05 10:56:13 CEST 2012 我在我的模型类中定义了一个带注释的字段: @Attribute(name = "regDate
我将我的库模块上传到 jcenter,并将这个模块用于我的应用程序项目。 我尝试构建我的应用程序它返回一个错误。 我搜索了这个问题,这个问题是由于知道什么是简单的框架。 我 必须同时使用这个库 我的库
我正在使用简单框架进行 XML 序列化/反序列化,虽然第一个很简单,但我对后者有疑问。因此,我从服务器收到 XML 响应,如下所示:
img1 img2 img3 img4 img5 img6 我有这样的内容的xml(不是真实的,只是为了描述我的问题) 想要通过 simplefr
所以我试图在元素没有值时设置一个空属性。 所以我的类看起来像这样: @Order(attributes = { "name" }) public class TypeNumber { @Att
我有一个大型 xml 树,其结构如下: 1 Test2 -1 Test1 我正在尝
我使用 SimpleFramework 来创建 XML。一切正常,期待一件“小”事。当我的列表之一为空时,SimpleFramework 会不断添加列表的标签(当然是空的)。当空标签为 null 或
我正在尝试使用 Simpleframework 将 XML 绑定(bind)到 POJO但它无法正常工作,我无法发现错误。这个结构与 JAXB 完美配合,我只是将注释更改为 Simpleframewo
我有这个代码: @ElementList(name="package", required=false, inline=true) private Hashtable packages; 这给了我
我正在尝试使用 org.simpleframework.xml.ElementMap 将以下 XML 映射到我的 Java 类: blahblah one
在经历了很多挫折之后,我来到这里寻求帮助。我正在使用 org.simpleframework.xml 来解析 Android 中的 RSS 提要。尝试解析 xml 文件时出现以下错误: org.sim
我有一个使用 SimpleFramework 的 Android 应用程序用于 XML 序列化。该应用程序在我测试过的所有真实设备上运行良好,没有任何延迟,但在模拟器上运行时,垃圾收集器会在每次启动该
我决定使用 Simple XML serialization并陷入了基本问题。我正在尝试将 java.util.UUID 类实例序列化为这个小类中的最终字段: @Root public class I
我正在使用 org.simpleframework.xml (http://simple.sourceforge.net/) 将 Java 对象序列化为 XML。 我想添加的是基于 Java 对象中的
我正在对 soap 服务使用改造,但出现元素“主体”没有 .. 错误。我不擅长用 SOAP :)这是我的回应和我的对象 %%UmVxdWVzdElzVmFsaWQyOT
我是一名优秀的程序员,十分优秀!