我的XML文件是这样的:
<root> 
  <mxCell id="1" parent="0" /> 
<mxCell id="2" parent="1" value="Name:61">
   <mxGeometry x="220.0" y="160.0" /> 
         </mxCell>
   <mxCell id="2" parent="1" value="Name:61">
   <mxGeometry x="220.0" y="160.0" /> 
         </mxCell>
</root>我们平时用XStream把Java对象转换为xml,生成的xml一般都是:
<class-A>
   <属性A1>a1</属性A1>
   <class-B>
      <属性B1>b1</属性B1>       
   </class-B>
</class-A>而我现在的xml格式是:
<class-A>
   <class-B  属性B1="b1" 属性B2="b2">
      <class-C 属性C1="c1" 属性C2="c2" />
   </class-B>
</class-A>
请问这种如果用XStream该怎么有XML转换为Java对象,
如果XStream没办法,用最普通的Document改怎么读取?

解决方案 »

  1.   

    只能自己解析了呗也许用JAXB可以,似乎能给它配置一个模板
      

  2.   

    首先用XStream去解析的话, 不符合XStream对应的XML格式要求。所以无法直接转成对象。
    从xml格式形式来看,包含了三个对象,mxCell对象1,mxCell对象2并且包含了mxGeometry对象属性。mxCell对象3。不过对象2和对象3重复。你可以通过dom4j,直接解析xml,然后解析属性的值,赋值到类对象中。
      

  3.   

    可以用最普通的Document解析,不过要麻烦一点而已!
      

  4.   

       xstring 在xml和java对象转化中应该有格式设定的功能的,我前几年玩的时候已经有一些别名之类的功能,具体的楼主可以去xstream官网去了解。
       即使xstring不能满足楼主的需求,其实Java Object Map XML的工具类多了,Spring OMX功能就是专门整合这些开源 OMX框架的,里面能设置格式的多了。   没有必要使用其他xml工具再转格式。具体的不说了,楼主去查资料吧。
      

  5.   

    请问
    <body>
    <themeList totalCount="13">
    <theme id="14">生态旅游</theme>
    这种格式用 xstream 如何识别