繁体   English   中英

将XML转换为对象xstream(Android)

[英]Convert XML to Object xstream ( Android )

我正在寻找有关通过XStream将xml转换为对象的帮助,这是我的XML

<main>
      <listDTO>
          <MyObject>
              <test>value1</test>
          </MyObject>
          <MyObject>
              <test>value2</test>
          </MyObject>

      </listDTO>
</main>

这是我的课。

public class First{
      MyObject[] listDTO;
}

public class MyObject{
      String test;
}

使用xstream:

...
XStream xStream = new XStream();
xStream.alias("main",First.class);
xStream.alias("listDTO", MyObject.class);
xStream.addImplicitCollection(First.class,"listDTO");

....

标记<listDTO>是一个问题,我无法更改XML。 这些类是使用Eclipse从wsdl生成的。

你能帮助我吗 ?

您的代码应如下所示:

XStream xStream = new XStream();
xStream.alias("main", First.class);
xStream.alias("MyObject", MyObject.class);

首先,您没有隐式集合,但是由listDTO标记标记的显式集合。 使用隐式收集,您的XML将是:

<main>
    <MyObject>
        <test>value1</test>
    </MyObject>
    <MyObject>
        <test>value2</test>
    </MyObject>
</main>

第二个错误是为MyObject类添加listDTO别名。 应该将其替换为MyObject别名,因为您确实在XML中定义了与MyObject类相对应的MyObject标记。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM