Tag: jaxb

在kotlin中使用时,@XmlElement不起作用

当我序列化一个类ReturnValue的实例时,我发现@XmlElement不起作用。 生成的XML仍然有<summary>的标签,而不是<comment> 。 ReturnValue类: @XmlRootElement @XmlAccessorType(XmlAccessType.FIELD) data class ReturnValue(val type: String, @XmlElement(name="comment") val summary: String){ constructor(): this(type="java.lang.Object", summary="no summary") } 测试程序: fun main(args: Array<String>) { val jaxbContext = JAXBContext.newInstance(ReturnValue::class.java) val marshaller = jaxbContext.createMarshaller() marshaller.marshal( ReturnValue(type = "java.lang.Object",summary = "hello"), System.out) } 和输出: <?xml version="1.0" encoding="UTF-8" standalone="yes"?><returnValue><type>type2</type><summary>hello</summary></returnValue> 所以,我想把<summary>改成<comment> 。 我怎样才能做到这一点?

无法使用JAXB和Kotlin解组xml对象

我正试图反序列化/解组包含People标记中包含的Person元素集合的XML。 我试图使用JAXB在Kotlin中反序列化这个XML。 所有东西都编译和运行,但是我班里的人员总是空的。 我怎样解组这个集合? import java.io.StringReader import javax.xml.bind.JAXB import javax.xml.bind.annotation.XmlAccessType import javax.xml.bind.annotation.XmlAccessorType import javax.xml.bind.annotation.XmlElement import javax.xml.bind.annotation.XmlElementWrapper @XmlAccessorType(XmlAccessType.FIELD) data class Person( var name:String = "", var age:Int = 0 ) @XmlAccessorType(XmlAccessType.FIELD) data class Report( var statusCode:Int = 0, @XmlElementWrapper(name = "people") @XmlElement(name = "person") var people:List<Person>? = null ) val xml = """ <report> <statusCode>3</statusCode> <people> […]

在Gradle usin Kotlin中构建JAXB类

嗨,我有一个任务在groovy: task generateJAXBClasses() { inputs.dir 'src/main/config' outputs.dir 'src/main/java/ad/ecs/struct' def jaxbSrcDir = file("${projectDir}/src/main/java") doLast { ant.taskdef(name: 'xjc', classname: 'ad.ecs.structbuild.XJC2Task', classpath: configurations.generateJAXBClasses.asPath) ant.jaxbSrcDir = jaxbSrcDir ant.xjc( destdir: '${jaxbSrcDir}', package: 'ad.ecs.struct', schema: 'src/main/config/StructsULink.xsd', binding: 'src/main/config/MainBindings.xml', readonly: true, //header: false, argument1: '-Xsetters', argument2: '-npa', ) } } 我不知道如何在Kotlin中引用我的类ad.ecs.structbuild.XJC2Task 。 我想知道在Kotlin有没有另一种蚂蚁?