在项目中遇到拼装XML报文的时候;
给大家介绍一种依据对象来生成的相应的XML报文;
传入的为List<QDetail>对象:
XStream xStream = new XStream(new XppDriver(new XmlFriendlyReplacer("__", "_")));
//此对象包涵一个属性,属性的类型为List
Inventory inventory=new Inventory();
//下面的lists赋值给inventory
inventory.setConditions(lists);
//意思为这个对象的节点为part
xStream.alias("part", QDetail.class);
//Inventory这个级别的为atpDaQuery
xStream.alias("atpDaQuery", Inventory.class);
//指定生成的模式
xStream.setMode(XStream.NO_REFERENCES);
//指定头部信息
String xmlHead = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n";String xml = xStream.toXML(inventory);
sReturn = xmlHead + xml;
生成的报文为:
如果List包涵多个对象时QDetail会有多个相同的节点
<?xml version="1.0" encoding="UTF-8"?>
<atpDaQuery>
<QDetail>
</QDetail>
<QDetail>
</QDetail>
</arpDaQuery>