在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>
答案 0 :(得分:0)
基本上你要尝试实现两件事:检查你的xml是否格式正确,并检查它是否有效(有效的xml符合DTD或XSD)。
要检查是否格式正确,您只需尝试使用任何主要的xml解析器进行解析,它就会抛出异常,但它没有很好地形成。
要检查它是否有效,请根据架构验证它(我建议使用XSD而不是DTD,但这只是我)有很多方法可以做到这一点,这里提到了一些{{3} }
此外,如果您针对模式验证xml,您还将检查它是否格式正确,因为只能验证格式良好的xml。