【问题标题】:Print XML elements in standard format以标准格式打印 XML 元素
【发布时间】:2013-07-10 06:48:34
【问题描述】:

我在 Java 中使用 dom 解析器。

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

对于上面给出的 xml,如果我有 USA 元素节点,我想打印为 Country[@name="USA"][@states="50"]

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

【问题讨论】:

    标签: java xml dom xpath


    【解决方案1】:

    如果你使用 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();
        }
    }
    

    希望对你有帮助!

    【讨论】:

      猜你喜欢
      • 2011-03-21
      • 2020-12-13
      • 1970-01-01
      • 1970-01-01
      • 2013-09-12
      • 1970-01-01
      • 1970-01-01
      • 2020-01-24
      • 2011-05-06
      相关资源
      最近更新 更多