使用免费 XML 验证器验证 XML w.r.t XSD 的最佳方法是什么?
-
21-09-2019 - |
题
我需要根据 XSD 验证 XML,那么有哪些免费的 XML 验证器可以对我的任务有用。
谢谢。
解决方案
练习 有 Java、C++ 和 Perl 版本。
为了方便起见,perl 版本包含一个命令行验证器。
示例代码:
// parse an XML document into a DOM tree
DocumentBuilderFactory parserFactory = DocumentBuilderFactory.newInstance();
parserFactory.setNamespaceAware(true);
DocumentBuilder parser = parserFactory.newDocumentBuilder();
Document document = parser.parse(new File("instance.xml"));
// create a SchemaFactory capable of understanding WXS schemas
SchemaFactory factory = SchemaFactory.newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI);
// load a WXS schema, represented by a Schema instance
Source schemaFile = new StreamSource(new File("mySchema.xsd"));
Schema schema = factory.newSchema(schemaFile);
// create a Validator instance, which can be used to validate an instance document
Validator validator = schema.newValidator();
// validate the DOM tree
try {
validator.validate(new DOMSource(document));
} catch (SAXException e) {
// instance document is invalid!
}
不隶属于 StackOverflow