كيفية الحصول على جميع أخطاء التحقق من الصحة من SAX-Parser؟

StackOverflow https://stackoverflow.com/questions/1887680

سؤال

أرغب في الحصول على جميع أخطاء التحقق من الصحة من SAX-Parser، ولكن مع قصتي، أتلقى فقط أول. كيف يمكنني تحقيق ذلك؟

شكرًا لك!

مقتطف

def factory = SchemaFactory.newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI)
def xml = new StreamSource(inputStream)
def xsd = new StreamSource(new FileReader(schema), systemId)

try {
    factory?.newSchema(xsd)?.newValidator()?.validate(xml)
} catch(SAXParseException saxpe) {
    continueImport = false
    log.error("Error while parsing the import xml", saxpe)
}
هل كانت مفيدة؟

المحلول

هل حاولت تنفيذ معالج الأخطاء ب سيتيح لك ذلك تلقي وتسجيل الأخطاء / التحذيرات والأخطاء القاتلة.

من الوثيقة:

إذا كان تطبيق SAX يحتاج إلى تطبيق معالجة خطأ مخصصة، فيجب عليه تطبيق هذه الواجهة ثم قم بتسجيل مثيل مع قارئ XML باستخدام طريقة SetErrorhandler. ثم سيقوم المحلل بجميع الأخطاء والتحذيرات من خلال هذه الواجهة.

هنا هو مثال على الرمز.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top