首页 > 解决方案 > 使用 JAXB 从 XML 解析特定字段

问题描述

我正在开发一个需要使用 JAXB 解析 XML 文件的项目。以下是示例 XML:

<FirstLevel>
    <Second>
        <Third>
            <ProductName>Computer</ProductName>
        </Third>
    </Second>
    <Second>
        <Third>
            <ProductName>Mobile</ProductName>
        </Third>
    </Second>
</FirstLevel>

我只需要产品名称。为了做到这一点,我尝试了以下方法,但没有奏效:

@XmlRootElement(name="FirstLevel")
public class DTOClass {

    private String productName;

    public String getProductName() {
        return productName;
    }

    @XmlElement(name="ProductName")
    public void setProductName(String productName) {
        this.productName = productName;
    }

}

但这有效:

@XmlRootElement(name="FirstLevel")
public class DTOClass {

    private List<Second> second;

    public List<Second> getSecond() {
        return second;
    }
    @XmlElement(name="Second")
    public void setSecond(List<Second> second) {
        this.second = second;
    }

    static class Second{

        private Third third;

        public Third getThird() {
            return third;
        }
        @XmlElement(name="Third")
        public void setThird(Third third) {
            this.third = third;
        }

        static class Third{
            private String productName;

            public String getProductName() {
                return productName;
            }

            @XmlElement(name="ProductName")
            public void setProductName(String productName) {
                this.productName = productName;
            }
        }
    }

}

我的问题是

标签: javaxml-parsingjaxb

解决方案


推荐阅读