使用java处理空的xml标记

时间:2011-07-05 18:25:20

标签: java xml

我有一个xml如下。

<stat>
    <Parents>
        <Parent>
            <parentName></parentName>
            <occupation></occupation>
        </Parent>
        <Parent>
            <parentName>Brian</parentName>
            <occupation>Doctor</occupation>
        </Parent>
    </Parents>
     <Parents/>
    <Parents>
        <Parent>
            <parentName></parentName>
            <occupation></occupation>
        </Parent>
        <Parent/>
    </Parents>
</stat>

我需要根据父值使用java in来验证xml文件。当xml文件包含例如:<Parents/> or <Parents> <Parent><parentName></parentName><occupation></occupation></Parent></Parents>的空父块时。我需要抛出一个异常,说xml无效。如何使用xpath或某些方法实现需求而没有性能问题。 感谢您的帮助。

2 个答案:

答案 0 :(得分:1)

首先,我建议你看看XSD。使用XSD,您可以定义哪些标记以及XML中可能出现的标记数量。完成后,只需验证XML:http://download.oracle.com/javaee/1.4/tutorial/doc/JAXPDOM8.html

d

答案 1 :(得分:0)

除了XSD或RelaxNG模式(应该允许指定可接受的模型;并且空的不是其中之一,可以报告它),这也很容易处理Stax XMLStreamReader(javax.xml.stream。) 。阅读任何教程,并检查START_ELEMENT / END_ELEMENT对(以'parent'作为本地名称)。