【问题标题】:How to parse a XML file to see if it's valid before writing to it如何在写入之前解析 XML 文件以查看它是否有效
【发布时间】:2017-07-18 09:16:16
【问题描述】:

按照这个tutorial我能够创建一个XML文件,按照这个tutorial我能够解析XML文件

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

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

asdsadasfsadf

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

<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>    

【问题讨论】:

标签: java xml parsing


【解决方案1】:

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

要检查格式是否正确,您可以简单地尝试使用任何主要的 xml 解析器对其进行解析,它会抛出格式不正确的异常。

要检查它是否有效,请根据模式验证它(我建议使用 XSD 而不是 DTD,但这只是我)有很多方法可以做到这一点,这里提到了一些 What's the best way to validate an XML file against an XSD file?

此外,如果您根据架构验证您的 xml,您还将检查它是否格式正确,因为只有格式正确的 xml 才能被验证。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-01-18
    • 2022-06-17
    • 1970-01-01
    • 2023-03-21
    • 2015-02-21
    • 2011-03-17
    • 2021-12-03
    • 2014-12-01
    相关资源
    最近更新 更多