我在 Java 中使用 dom 解析器。
<Countries>
<Country name="USA" states="50"/>
<Country name="UK" states="4"/>
</Countries>
对于上面给出的 xml,如果我有想要打印为Country[@name="USA"][@states="50"]的 USA 元素节点
有没有简单的方法来完成这项工作?或者我必须编写自定义方法?
如果你使用 DOM parser ,你可能需要编写自定义方法来实现上述功能。
如果您使用 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();
}
}
希望这对你有帮助!