Java Spring oxm编组和解编组对象列表
我们正在使用Spring进行一个项目,我需要整理和取消整理对象列表 从和到XML。 由于各种原因,业务对象本身没有@XmlRootElement注释,这些注释无法更改 通过使用包装器类,我可以很容易地使用javax.xml实现这一点。我正在使用一个带有数字ID和描述字段的简单testObject:Java Spring oxm编组和解编组对象列表,java,xml,spring,marshalling,Java,Xml,Spring,Marshalling,我们正在使用Spring进行一个项目,我需要整理和取消整理对象列表 从和到XML。 由于各种原因,业务对象本身没有@XmlRootElement注释,这些注释无法更改 通过使用包装器类,我可以很容易地使用javax.xml实现这一点。我正在使用一个带有数字ID和描述字段的简单testObject: /** * testObject for xml convert * */ package xmlconvert; import java.io.File; import java.io
/**
* testObject for xml convert
*
*/
package xmlconvert;
import java.io.File;
import java.io.IOException;
import java.util.List;
//import javax.xml.bind.JAXBContext;
//import javax.xml.bind.JAXBException;
//import javax.xml.bind.Marshaller;
//import javax.xml.bind.Unmarshaller;
//import javax.xml.bind.annotation.XmlRootElement;
//import javax.xml.bind.annotation.XmlType;
public class testObject
{
private static final long serialVersionUID = 1L;
public testObject()
{
setObjectid( 0L );
setDescription( " " );
}
public testObject( Long oid, String desc )
{
setObjectid( oid );
setDescription( desc );
}
private Long objectid;
public Long getObjectid()
{
return this.objectid;
}
public void setObjectid( Long oid )
{
this.objectid = oid;
}
private String description;
public String getDescription()
{
return this.description;
}
public void setDescription( String d )
{
this.description = d;
}
}
我的包装器类如下所示:
/**
* JAXBToList
*
* An object that holds the list of objects to convert.
*
*/
package xmlconvert;
import java.util.ArrayList;
import java.util.List;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlElements;
import javax.xml.bind.annotation.XmlRootElement;
import xmlconvert.testObject;
@XmlRootElement(name="testObjects")
public class JAXBToList
{
protected List<testObject> list;
public JAXBToList()
{
list = new ArrayList<testObject>();
}
public JAXBToList( List<testObject> list )
{
this.list = list;
}
@XmlElement(name="testObject")
public List<testObject> getList()
{
return (List<testObject>) this.list;
}
}
@XmlElements({
@XmlElement(name="testObject",
type=testObject.class)
})
public static void convertListToXML( JAXBToList objectList,
String xmlFilePath )
throws IOException, JAXBException {
JAXBContext jc = JAXBContext.newInstance( JAXBToList.class );
marshaller = jc.createMarshaller();
marshaller.setProperty( Marshaller.JAXB_FORMATTED_OUTPUT, Boolean.TRUE );
marshaller.marshal( objectList,
new StreamResult( new FileOutputStream(xmlFilePath) ) );
}
我想使用Spring marshaller和unmarshaller来实现这一点,但是似乎没有办法设置上下文来使用oxm类中的JAXBToList类Jaxb2Marshaller
,或者其他种类的marshaller
我知道有一个set-Jaxb-Context-Properties方法,但是没有关于我需要设置什么的说明,或者使用它是否会像上面所示那样设置Jaxb-Context-Properties
有没有人有一个链接来说明如何将oxm用于对象列表?谷歌搜索结果不多。你的问题是什么?嗨,Jimbo。您可以在最后一个代码框中找到我的问题:是否有人有说明如何将oxm用于对象列表的链接?谷歌搜索结果不多。我个人帮不了你,汤姆,但我已经把你的问题移到了代码框之外,所以你的问题很明显。如果您认为您可以进一步编辑此内容(以便人们更容易理解您的问题,从而更好地帮助您)-请通过您帖子下方的编辑按钮自由编辑。谢谢,Jimbo。出于某种原因,邮箱希望我将该部分格式化为代码。可能是因为我在文本中有对象和方法的名称。