如何解析XML文件以在写入之前查看它是否有效

时间:2017-07-18 09:16:16

标签: java xml parsing

What is the 'open' keyword in Swift?之后,我能够创建一个XML文件,并在此tutorial之后我能够解析XML文件

我现在想知道在添加另一个Staff之前如何检查xml是否是有效格式,如果xml格式不正确,它将退出并提供无法解析的错误。

如果它解析这样的乱码文件,它将退出而不是继续

asdsadasfsadf

如果它解析有效的XML但格式不正确,它也会退出(第一个节点是root而不是公司)

<root>
<staff id="1001">
    <firstname>yong</firstname>
    <lastname>mook kim</lastname>
    <nickname>mkyong</nickname>
    <salary>100000</salary>
</staff>
<staff id="2001">
    <firstname>low</firstname>
    <lastname>yin fong</lastname>
    <nickname>fong fong</nickname>
    <salary>200000</salary>
</staff>
</root>    

1 个答案:

答案 0 :(得分:0)

基本上你要尝试实现两件事:检查你的xml是否格式正确,并检查它是否有效(有效的xml符合DTD或XSD)。

要检查是否格式正确,您只需尝试使用任何主要的xml解析器进行解析,它就会抛出异常,但它没有很好地形成。

要检查它是否有效,请根据架构验证它(我建议使用XSD而不是DTD,但这只是我)有很多方法可以做到这一点,这里提到了一些{{3} }

此外,如果您针对模式验证xml,您还将检查它是否格式正确,因为只能验证格式良好的xml。