如何使用 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()
而不仅仅是 alias
和 aliasField
从 XStream 创建并使用 ignoreUnknownElements()
.
最后只做Cast
OriginfromXml = (Origin)xstreamCreated.fromXml(stringFromReplaceAll);
这是一个解决方案,如果有人有更好的方法,我会post。
我需要从 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()
而不仅仅是 alias
和 aliasField
从 XStream 创建并使用 ignoreUnknownElements()
.
最后只做Cast
OriginfromXml = (Origin)xstreamCreated.fromXml(stringFromReplaceAll);
这是一个解决方案,如果有人有更好的方法,我会post。