我在Java中使用dom解析器。
<Countries>
<Country name="USA" states="50"/>
<Country name="UK" states="4"/>
</Countries>
对于上面给出的xml,如果我有美国元素节点我要打印为国家[@name =&#34; USA&#34;] [@ states =&#34; 50&#34; ]
有没有简单的方法来完成这项工作?或者我必须编写自定义方法?
答案 0 :(得分:2)
如果您使用DOM解析器,您可能需要编写自定义方法来实现上述功能。
如果你使用JAXB,你可以通过覆盖POJO类的toString方法来完成上述功能。
@XmlRootElement
public class Countries {
@XmlElement
Country country;
}
import javax.xml.bind.annotation.XmlAttribute;
public class Country {
@XmlAttribute
private String name;
@XmlAttribute
private String states;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getStates() {
return states;
}
public void setStates(String states) {
this.states = states;
}
@Override
public String toString() {
return "Country[@name="+getName()+"][@states="+getStates();
}
}
希望这对你有所帮助!