gpt4 book ai didi

java - 使用 XSD 进行 XML 验证如何工作?

转载 作者:太空宇宙 更新时间:2023-11-04 07:53:34 26 4
gpt4 key购买 nike

Possible Duplicate:
Validating XML against XSD

我正在使用此代码通过 XSD 验证我的 XML

        DocumentBuilder parser = factory.newDocumentBuilder();

// Parse the file. If errors found, they will be printed.
parser.parse(args[1]);

但我想知道它是如何工作的,它会检查标签还是所有数据?它有多可靠?

最佳答案

您可以执行如下操作,在文档解析器之后,根据 XML 模式验证生成的 DOM。您可以设置 ErrorHandler 的实例,以便可以选择如何处理验证错误。

public class Demo {

public static void main(String[] args) throws Exception {
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
factory.setNamespaceAware(true);
DocumentBuilder parser = factory.newDocumentBuilder();
Document document = parser.parse(args[1]);
DOMSouce source = new DOMSource(document);

SchemaFactory sf = SchemaFactory.newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI);
Schema schema = sf.newSchema(new File("customer.xsd"));

Validator validator = schema.newValidator();
validator.setErrorHandler(new MyErrorHandler());
validator.validate(source);
}

}

或者,您可以在 DocumentBuilderFactory 上调用 setSchema,以便在解析期间进行验证,但并非所有 DOM 解析器都支持此操作:

了解更多信息

下面是我博客中使用此架构验证方法的示例的链接。在该示例中,使用了 JAXBSource 而不是 DOMSource,但其他一切都是相同的。

关于java - 使用 XSD 进行 XML 验证如何工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13988992/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com