Java JAXB:根据值动态创建XML属性
我对生成XML文档有一个奇怪的要求。我需要根据其他标记的值添加xml属性 在下面的xml中,对于行标记,我需要基于Java JAXB:根据值动态创建XML属性,java,xml,jaxb,unmarshalling,Java,Xml,Jaxb,Unmarshalling,我对生成XML文档有一个奇怪的要求。我需要根据其他标记的值添加xml属性 在下面的xml中,对于行标记,我需要基于标记中的值显示Column1值。就像二维矩阵 例:如果我的中有值 然后在我的标记中,我需要添加如下属性:Column1(列标记属性名称)=“table1”(表标记属性名称) 我正在为这个关联生成值,但是如何创建这样的动态标记xmlAttribute 我需要以这种方式生成XML <Tree name="" desc="" title="" > <Column
标记中的值显示Column1值。就像二维矩阵
例:如果我的
中有值
然后在我的
标记中,我需要添加如下属性:Column1
(列标记属性名称)=“table1”
(表标记属性名称)
我正在为这个关联生成值,但是如何创建这样的动态标记xmlAttribute
我需要以这种方式生成XML
<Tree name="" desc="" title="" >
<Column>
<Column name="Column1" desc="" group="" id="1"/>
</Column>
<Row>
<Row id =1 name=" " desc="" ="" Column1 = "table1">
<Row id = 2 name="" desc="" Column1 = "table2" />
</Row>
<Row id = 3 name=" " desc="" id="" Column1 = "table3" />
</Rows>
<table>
<table name="table1" row="1" column="1" >
<table name="table2" row="2" column="1" >
<table name="table3" row="3" column="1" >
</table>
</Tree>
这是使用具有任意名称的属性编写编组类的方法
public class Row {
private Map<QName,Object> any;
private String name;
private String type;
@XmlAnyAttribute
public Map<QName,Object> getAny(){
if( any == null ){
any = new HashMap<QName,Object>();
}
return any;
}
@XmlAttribute
public String getName(){
return name;
}
public void setName( String value ){
name = value;
}
@XmlAttribute
public String getType(){
return type;
}
public void setType( String value ){
type = value;
}
}
Row r1 = new Row();
r1.getAny().put( new QName( "Column1" ), "table1" );