如何使用 XStream 在某个标签中选择一些信息

How to pick some information in some tag with XStream

我需要从 XML 中挑选一些信息,我正在使用 Xstream。 我需要书本上的一些信息,但不是所有信息。

XML:

<Origin>
 <MsgData>
  <Transaction>
   <Book class="R">
     <Title>info 1</Title>
     <Author>info 2</Author>
     <Pages>info 3</Pages>
       <other infos>some other info that i dont need </other infos>
     <Local class="R">
        ...
        more info that i dont need
        ...
     </Local>
    </Book>
  </Transaction>
 </MsgData>
</Origin>

我尝试使用 ignoreUnknownElements(),但是当我将 XML 转换为我创建属性的“来源”class 时来自对象的都是空值。

我该怎么做?

所以我正在使用一些东西让它发挥作用。我创建了每个 class 直到 de Book class,所以它是这样的:

public class Origin { 

  private MsgData msgData;

}

public class MsgData { 

  private Transaction transaction;

}

public class Transaction { 

  private Book book;

}

public class Book { 

 private String info1
 private String info2
 private String info3

}

之后我需要替换标签 Book 中的 class="R"。 使用 Xml 我可以做 replaceAll()

而不仅仅是 aliasaliasFieldXStream 创建并使用 ignoreUnknownElements().

最后只做Cast

OriginfromXml = (Origin)xstreamCreated.fromXml(stringFromReplaceAll);

这是一个解决方案,如果有人有更好的方法,我会post。