1

Javaでdomパーサーを使用しています。

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

上記の xml の場合、Country[@name="USA"][@states="50"]として印刷する USA 要素ノードがある場合

これを行う簡単な方法はありますか?または、カスタムメソッドを作成する必要がありますか?

4

1 に答える 1

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

これがあなたを助けることを願っています!.

于 2013-07-10T07:13:36.800 に答える