2013-07-10 103 views
1

我在Java中使用了dom解析器。以標準格式打印XML元素

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

對於上面給出的XML如果我有欲打印爲國家USA元件節點[@名稱= 「USA」] [@狀態= 「50」]

是否有一個簡單的方法來完成這件事?或者我必須編寫自定義方法?

回答

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

希望這可以幫助你!

+1

無論如何,我將不得不寫我自己的方法....謝謝! – OKOK