我有一个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或某些方法实现需求而没有性能问题。
感谢您的帮助。
答案 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'作为本地名称)。