java - 使用 JAXB 将 XML 数据解析为字符串对象

标签 java xml parsing jaxb

我必须将 xml 解析为 JAXB 中的字符串对象。但是如何为这个xml创建对象

国家.xml

    <?xml version="1.0" encoding="UTF-8"?> 
    <Country>       
        <name>India</name>
        <capital>New Delhi</capital>
        <population>120crores</population>
    .
    .
    .
    .
    .

<states>
    <state>
        <name>Maharastra</name>
        <pincode>xyzzzz</pincode>
        <capital>Mumbai</capital>

    <\state>

    <state>
    .
    .
    .
    </state>
</states>


   <\Country>       

为了解析这个 xml,我创建了类来映射创建对象的对象并将其打印在控制台中。但不知道我做错了什么。

@XmlElementWrapper(name="Country")
    public void setCountry(String Countryv) {
        Country= Countryv;
    }

@XmlElement (name = "name")
    public void setname(String namev) {
        name= namev;
    }

    @XmlElement (name = "capital")
    public void setcapital(String capitalv) {
        capital= capitalv;
    }

    @XmlElement (name = "population")
    public void setpopulation(String populationv) {
        population= populationv;
    }


    @XmlElementWrapper(name="states")
    public void setType(String statesv) {
        states = statesv;
    }



@XmlElementWrapper(name="state")
        public void setType(String statev) {
            state = statev;
        }




    @XmlElement (name = "name")
        public void setpopulation(String namev) {
            name= namev;
        }

     @XmlElement (name = "pincode")
        public void setpopulation(String pincodev) {
            pincode= pincodev;
        }

 @XmlElement (name = "capital")
        public void setpopulation(String capitalv) {
            capital= capitalv;
        }

当我运行程序时,我得到了

com.sun.xml.internal.bind.v2.runtime.IllegalAnnotationsException: counts of IllegalAnnotationExceptions

如何添加包装器注释以将元素包装在单独的标题下和其他标题内的标题中。

最佳答案

试试这门课

@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "", propOrder = {
    "name",
    "capital",
    "population",
    "states"
})
@XmlRootElement(name = "Country")
public class Country {
@XmlElement(required = true)
protected String name;
@XmlElement(required = true)
protected String capital;
@XmlElement(required = true)
protected String population;
@XmlElement(required = true)
protected Country.States states;
    public String getName() {
        return name;
    }
    public void setName(String value) {
        this.name = value;
    }
    public String getCapital() {
        return capital;
    }
    public void setCapital(String value) {
        this.capital = value;
    }
    public String getPopulation() {
        return population;
    }
    public void setPopulation(String value) {
        this.population = value;
    }
    public Country.States getStates() {
        return states;
    }
    public void setStates(Country.States value) {
        this.states = value;
    }

关于java - 使用 JAXB 将 XML 数据解析为字符串对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29248861/

相关文章:

parsing - FParsec 只解析括号内的 expr

c++如何将文件解析为结构 vector

java - java在netbeans中哪里查找文件?并且可以更改目录吗?

java - 在 java 中构建 URL 字符串时出错

java - 用于 XML 验证的 XSD 创建

xml - XPath 基于同级值获取值 - 带有命名空间

parsing - 在Scala组合器解析器中忽略C样式的注释

java - 在一行中匹配多个模式

java - 尝试在 java 中将 double 乘以 int

android - 如何在 strings.xml 中使用 build.gradle 中定义的变量?