Могу ли я поймать номер строки XML на javax.xml.bind.MarshalException? - PullRequest
0 голосов
/ 25 февраля 2019

У меня есть другая ошибка, такая как эта, есть ли способ получить на выходе поле объекта, не проверенного ??

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;
}
...