【发布时间】:2014-09-05 19:14:27
【问题描述】:
我正在使用 XML 和 JAXB,因为我正在将 XML 解组和编组为 Java 对象,反之亦然。现在我正在尝试根据我们的模式(test.xsd)验证我们的 XML。假设如果我的 XML 中缺少任何必填字段,那么我想知道在根据模式 test.xsd 验证 XML 之后缺少哪个字段。
public void unmarshal(final InputStream is) {
final XMLInputFactory factory = XMLInputFactory.newInstance();
final XMLStreamReader reader = factory.createXMLStreamReader(is);
Object req = unmarshaller.unmarshal(reader);
// how would I validate here?
}
我将如何根据 test.xsd 架构验证我的 XML。我的 test.xsd 架构路径是 -
C:\workspace\one\two\three\src\main\java\com\package\serv\ap\versionOne\test.xsd
更新:将 test.xsd 加载为:
Schema schema = factorySchema.newSchema(new File("C:\\workspace\\one\\two\\three\\src\\main\\java\\com\\package\\serv\\ap\\versionOne\\test.xsd"));
【问题讨论】:
标签: java xml jaxb xsd unmarshalling