以标准格式打印XML元素

时间:2013-07-10 06:48:35

标签: java xml dom xpath

我在Java中使用dom解析器。

<Countries>
<Country name="USA" states="50"/>
<Country name="UK" states="4"/>
</Countries>

对于上面给出的xml,如果我有美国元素节点我要打印为国家[@name =&#34; USA&#34;] [@ states =&#34; 50&#34; ]

有没有简单的方法来完成这项工作?或者我必须编写自定义方法?

1 个答案:

答案 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();
    }
}

希望这对你有所帮助!