`
53873039oycg
  • 浏览: 843705 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

Xstream Cannot create XmlPullParser错误解决

    博客分类:
  • xml
阅读更多

     昨天从官网上下了个Xstream,运行了一个简单的测试用例

public void testConvertsPropertiesObjectToShortKeyValueElements() {
		Properties in = new Properties();
		in.setProperty("hello", "world");
		in.setProperty("foo", "cheese");
		String expectedXML = "" + "<properties>\n"
				+ "  <property name=\"hello\" value=\"world\"/>\n"
				+ "  <property name=\"foo\" value=\"cheese\"/>\n"
				+ "</properties>";
		XStream xstream = new XStream();
		String actualXML = xstream.toXML(in);
		assertEquals(expectedXML, actualXML);

		Properties expectedOut = new Properties();
		expectedOut.setProperty("hello", "world");
		expectedOut.setProperty("foo", "cheese");
		Properties actualOut = (Properties) xstream.fromXML(actualXML);
		assertEquals(in, actualOut);
		assertEquals(in.toString(), actualOut.toString());
	}

    一运行,就报错了,错误信息如下:

   

com.thoughtworks.xstream.io.StreamException: Cannot create XmlPullParser
	at com.thoughtworks.xstream.io.xml.AbstractXppDriver.createReader(AbstractXppDriver.java:56)
	at com.thoughtworks.xstream.XStream.fromXML(XStream.java:1011)
	at com.thoughtworks.xstream.XStream.fromXML(XStream.java:1002)
	at com.xmljson.test.PropertiesConverterTest.testConvertsPropertiesObjectToShortKeyValueElements(PropertiesConverterTest.java:42)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	at junit.framework.TestCase.runTest(TestCase.java:176)
	at junit.framework.TestCase.runBare(TestCase.java:141)
	at junit.framework.TestResult$1.protect(TestResult.java:122)
	at junit.framework.TestResult.runProtected(TestResult.java:142)
	at junit.framework.TestResult.run(TestResult.java:125)
	at junit.framework.TestCase.run(TestCase.java:129)
	at junit.framework.TestSuite.runTest(TestSuite.java:255)
	at junit.framework.TestSuite.run(TestSuite.java:250)
	at org.junit.internal.runners.JUnit38ClassRunner.run(JUnit38ClassRunner.java:84)
	at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:50)
	at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)
	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)
	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)
	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)

   在初始化Xstream的地方看来下反编译的源码

  

public XStream()
    {
        this(null, (Mapper)null, ((HierarchicalStreamDriver) (new XppDriver())));
    }

    发现Xstream默认是使用XppDriver的

    把Xstream的Driver改为

   

XStream xstream = new XStream(new DomDriver());

    测试运行通过,至于为什么要使用DomDriver,还请各位大神指教,谢谢。

 

 

分享到:
评论

相关推荐

    解决XStream注解同名冲突

    多个类注解@XStreamAlias,value相同、且在集合上使用了@XStreamImplicit会出现异常: com.thoughtworks.xstream.converters.ConversionException: No field 'null' found in class '.....(注解的...该包解决了这个bug

    xstream-1.3.1-sae-liufeng

    修改XStream源码,解决SAE不支持XStream的问题。

    最齐全的xstream1.4.8.jar

    最齐全的xstream1.4.8.jar 最齐全的xstream1.4.8.jar 最齐全的xstream1.4.8.jar 最齐全的xstream1.4.8.jar 最齐全的xstream1.4.8.jar 最齐全的xstream1.4.8.jar 最齐全的xstream1.4.8.jar 最齐全的xstream1.4.8.jar ...

    xstream-1.4.2.jar

    《XStream详解与应用》 ...总之,XStream是一个强大且灵活的工具,对于处理Java对象与XML之间的转换,它提供了简洁、高效的解决方案。无论你是新手还是经验丰富的开发者,都能从XStream的易用性和强大功能中受益。

    xstream-1.4.15.jar

    XStream 反序列化漏洞(CVE-2020-26258 & 26259),修复jar包 xstream-1.4.15.jar Xstream 是 Java 类库,用来将对象序列化成 XML (JSON) 或反序列化为对象。XStream 是一款开源软件,允许在 BSD 许可证的许可下分发...

    xstream最新版 - xstream-1.4.18.jar

    xstream最新版jar包

    xStream完整Jar包

    这个“xStream完整Jar包”很可能包含了 XStream 库的所有组件,包括核心库、相关的依赖和可能的示例代码,以确保用户在使用过程中不会遇到因缺少依赖而导致的错误。 **XML 序列化与反序列化** XStream 的主要功能...

    xstream1.4.15.JAR

    XStream 1.4.15 版本的更新主要目的是解决这些安全问题。开发者引入了新的安全特性,比如默认禁止不受信任的数据源反序列化,以及提供更严格的黑名单策略,来阻止潜在危险类的实例化。这些改进确保了只有白名单中的...

    xstream相关的jar包

    版本1.4.9是当前稳定版本,提供了许多性能优化和错误修复。 2. **dom4j-1.6.1.jar**:DOM4J是一个流行的Java XML API,它提供了一套全面而强大的处理XML、XPath和DOM的工具。XStream使用DOM4J作为其默认的DOM提供商...

    xstream解析依赖包

    《XStream解析依赖包详解》 在Java开发中,数据序列化是一个不可或缺的环节,它使得对象的状态可以被保存和...在实际项目中,理解这两个库的工作原理和相互关系,对于优化代码性能和解决可能出现的问题都至关重要。

    XStream使用文档 wd.docx

    6. **详尽的错误日志**:当序列化或反序列化出现问题时,XStream 提供了详细的错误信息。 7. **多格式支持**:除了XML,XStream 还可以将 Java 对象转换为 JSON 格式。 **XStream 的优势** 与传统的序列化框架相比...

    com.thoughtworks.xstream.XStream操作XML和java对象的一些用法

    XStream库提供了一个简单、直观的方式来实现这种转换,使得XML序列化和反序列化变得非常方便。本篇将详细介绍XStream如何处理XML与Java对象的相互转换,以及如何处理List、Map等集合类型的数据。 首先,XStream是一...

    XStream解析各种数据格式

    ### XStream解析各种数据格式...无论是在简单的数据交换场景下还是在复杂的系统集成中,XStream 都能提供有效的解决方案。通过本文介绍的基本使用方法和高级特性,开发者可以更好地利用 XStream 来满足项目的实际需求。

    xstream-1.4.5.jar

    xstream xstream-1.4.5.jar

    Oracle Database XStream Guide 11g Release 2 (11.2)-302

    * XStream 的管理和监控工具可以帮助用户快速定位和解决问题。 * XStream 的管理和监控工具可以集成到 Oracle 企业管理器中,提供统一的管理界面。 Oracle Database XStream 是一个功能强大且灵活的数据捕获和事件...

    xstream-1.3.1.zip

    《XStream 1.3.1:Java对象到XML的高效转换工具》 XStream是一款强大的Java库,它能够将Java对象序列化为XML,并能从XML反序列化回Java对象。这个“xstream-1.3.1.zip”文件包含了一个名为“xstream-1.3.1.jar”的...

    Java用xStream拼接xml

    当需要将数据转换为XML格式以便于传输或处理时,工具如xStream就显得尤为重要。Java中的xStream库提供了一个简单易用的方式来将Java对象序列化为XML,反之亦然,即反序列化XML回Java对象。 **xStream简介** xStream...

    xstream-1.4.8最齐全的jar包

    XStream是一款强大的Java库,主要用于将Java对象序列化为XML,以及将XML反序列化回Java对象。在Java开发中,这种能力对于数据持久化、网络传输或配置存储等场景非常有用。标题中的"xstream-1.4.8最齐全的jar包"表明...

    xstream.jar及其他依赖jar包

    "xstream.jar及其他依赖jar包"是解决这一问题的重要工具,它包括了xstream-1.4.10.jar、xpp3-1.1.4c.jar和xmlpull_1_0_5.jar这三个文件。这些jar包提供了全面的Java对象到XML以及XML到Java对象的转换功能,简化了...

    xstream-1.4-API

    通过了解以上关键概念,你可以充分利用 XStream 的强大功能,无论是简化数据存储,还是在分布式系统中传递数据,XStream 都能提供简洁、高效的解决方案。在实际项目中,结合文档和 `xstream-1.4-API` 中的示例,你将...

Global site tag (gtag.js) - Google Analytics