java - 如何在 java 中查找 xml 中缺少的属性

标签 java xml parsing jaxb

我有一个 XML 文件,其中包含某些属性。我有实现类来解析文件以获取值。但是当我用缺失值进行测试时它工作正常。我的程序想在运行时抛出错误或警告。请给我一个解决方案。

示例“hello.xml”

<head>
<welcome>Hi</welcome>
<id>1</id>
<uname>chill</uname>
<persons>
<person>
<name>1</name>
<age>23</age>
<city>huils</city>
</person>
<person>
<name>2</name>
<age>23</age>
<city>huils</city>
</person>
<person>
<name>3</name>

</person>
</persons>
</head>

现在第 3 个人缺少属性和标签年龄和城市。但是我的程序运行良好,没有抛出错误。怎么了。

实现方案:

@XmlElementWrapper(name="welcome")
    public void setwelcome(String welcome) {
        welcome= welcome;
    }

@XmlElement (name = "id")
    public void setid(String id) {
        id= id;
    }

    @XmlElement (name = "id")
    public void setid(String id) {
        id= id;
    }

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


    @XmlElement(name="age")
    public void setage(String age) {
        age= age;
    }

   @XmlElement(name="city")
    public void setage(String city) {
        city= city;
    }

最佳答案

您必须使用 required annotation property 将所需元素标记为必填元素.默认值为 false,因此缺少元素不会触发错误。

@XMLElement(name=<name>, required=true)

至于属性,它的工作方式相同,您必须将它们标记为 required .

@XmlAttribute(required=true)

关于java - 如何在 java 中查找 xml 中缺少的属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29599518/

相关文章:

xml - Xpath - 如何排除包含属性的节点?

mysql - 解析MySQL中下划线分隔的字段

java - 使用java中的split读取 ""之后和 "("之前的字符串

java - 在 JgraphT 中显示权重

java - 如何从线程中抛出异常?

javascript - 模拟 :starts-with or :ends-with for searching text? 的 jQuery 选择器

python - 我如何了解我是否准确地解析了网站?

Java Swing TextArea 出乎意料的态度

Java instanceof 实现/扩展

xml - 从横向 View 的结果创建 Hive 外部表