日期:2014-05-20  浏览次数:20717 次

关于XML标签的问题,很费解
小弟最近在看bean转化为XML的问题,遇到一个小问题,很头疼

@XmlRootElement
public class User(){
  private int id;
  private String name;

  public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}

可以得到的XML如下:

 <?xml version="1.0" encoding="UTF-8" standalone="yes" ?> 
  <user>
  <id>2</id> 
  <name>xiaobai</name> 
  </user>


可是如果我想得到:
 <?xml version="1.0" encoding="UTF-8" standalone="yes" ?> 
  <user>
  <id>2</id> 
  <name length=3>xiaobai</name> 
  </user>

也就是说在name节点中加入一个length属性 ,用XML的注释该如何加 ,我试过用@XmlAttribute 加在setName()上,可它却变成:
<user name=xxxx>

请教各位大侠,这么简单的小问题怎么解决啊 ,头疼啊

------解决方案--------------------
name的类这样写:
Java code

@XmlType
class Name{
    private int length; 
    private String value; 

    @XmlAttribute(name="length")
    public int getLength() {
        return length;
    }
    public void setLength(int length) {
        this.length = length;
    }
    
    @XmlValue
    public String getValue() {
        return value;
    }
    public void setValue(String value) {
        this.value = value;
    }
}