2

我需要针对 XSD 验证 XML,因此有哪些免费的 XML Validator 可用,它们可能对我的任务有用。

谢谢。

4

1 回答 1

1

xerces有 Java、C++ 和 Perl 版本。

为了方便起见,perl 版本包含一个命令行验证器。

Java 版本API包括用于验证的类和示例代码

示例代码:

// 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!
}
于 2009-10-12T19:52:48.340 回答