java 设置xmlns xsi_JAXB生成的xml中的“ xsi:type”和“ xmlns:xsi”

我使用JAXB创建文件夹和文件层次结构

我的模特:

@XmlRootElement

public class Root {

@XmlAttribute

private String path;

@XmlElement(name = "dir")

private ArrayList

@XmlElement(name = "file")

private ArrayList rootContentFiles = null;

public void setRootContentDirs(ArrayList

this.rootContentDirs = rootContentDirs;

}

public void setRootContentFiles(ArrayList rootContentFiles) {

this.rootContentFiles = rootContentFiles;

}

public void setPath(String path) {

this.path = path;

}

}

public class Dir {

@XmlAttribute

private String name;

@XmlElement(name = "dir")

private ArrayList dirs = null;

@XmlElement(name = "file")

private ArrayList files = null;

public void setName(String name) {

this.name = name;

}

public void setDirs(ArrayList dirs) {

this.dirs = dirs;

}

public void setFiles(ArrayList files) {

this.files = files;

}

}

public class FileObj{

@XmlAttribute

private String name;

@XmlAttribute

private long size;

@XmlAttribute

private String type;

public void setName(String name) {

this.name = name;

}

public void setSize(long size) {

this.size = size;

}

public void setType(String type) {

this.type = type;

}

}

我想制作目录和文件树:

public class XmlByJaxb extends Generator {

private static final String JAXB_XML = "./jaxb.xml";

private static Root root = null;

@Override

public void output() throws IOException {

JAXBContext context = null;

Marshaller m = null;

try {

context = JAXBContext.newInstance(Root.class, Dir.class, FileObj.class);

m = context.createMarshaller();

m.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, Boolean.TRUE);

m.marshal(root, new File(JAXB_XML));

} catch (JAXBException e) {

}

}

@Override

public void run() {

ArrayList rootFiles = addFiles(dir);

ArrayList

root = new Root();

root.setPath(dir.getPath());

root.setRootContentFiles(rootFiles);

root.setRootContentDirs(rootDirs);

/.../

}

但是我在生成的xml中有一个奇怪的“ xsi:type”和“ xmlns:xsi”:

/.../

所以我的问题是:这是什么意思,如何删除?


版权声明:本文为weixin_30070339原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。