我可以在javax.xml.bind.MarshalException上捕获行号xml吗?

时间:2019-02-25 10:59:44

标签: java xml xsd jaxb marshalling

我还有其他这样的错误,这是一种将未验证的对象字段输入输出的方法?

cvc-enumeration-valid:值“ 02”相对于枚举“ [1、2、3、4、5、6、7、8、9、10、11、12、13, 14、15、16、17、18、19、20]”。它必须是枚举中的值。

public static String marshalValidatingBoPgit(Object el) throws Exception {
    if (el == null) {
        return null;
    }
    Marshaller m = JaxbContextHolder.getInstance().getMarshaller(XmlObject.class);
    m.setSchema(SchemaManager.getSchema("idb/xmlXsd/xml-schema.xsd"));
    m.setEventHandler(new ValidationEventHandler() {
        public boolean handleEvent(ValidationEvent event) {
            System.err.println(event);
            return false;
        }
    });
    ByteArrayOutputStream baos = new ByteArrayOutputStream();
    m.marshal(el, baos);
    baos.flush();
    String result = new String(baos.toByteArray());
    baos.close();
    return result;
}

0 个答案:

没有答案