/ / क्या JAXB 2.0 के साथ XML को पार्स किया जा सकता है? - जावा, सत्यापन, jaxb

क्या कोई JAXB 2.0 के साथ marshalled XML को मान्य कर सकता है? - जावा, सत्यापन, जैक्सबी

JAXB के संस्करण 2 में स्पष्ट रूप से - सत्यापनकर्तावर्ग को हटा दिया गया है - इसका मतलब यह है कि मार्शेलर स्वचालित रूप से आपके XML को मान्य कर रहा है? अगर ऐसा है तो मुझे लगता है कि मैं जो कुछ गलत XML बना रहा हूं, उसके बारे में शिकायत नहीं कर सकता! क्या कोई मुझे इस बारे में कुछ सलाह दे सकता है कि मैं कैसे XML को सत्यापित कर सकता हूं ताकि यह सुनिश्चित हो सके कि यह XSD स्कीमा के अनुरूप हो।

बहुत धन्यवाद।

उत्तर:

उत्तर № 1 के लिए 27

JAXP 1.3 स्कीमा सत्यापन ढांचे के उपयोग के माध्यम से JAXB 2.0 में सत्यापन क्षमताओं का विस्तार किया गया है।

आपने पहले कहाँ किया था:

unmarshaller.setValidating(true);

अब आपको करने की आवश्यकता है:

SchemaFactory sf = SchemaFactory.newInstance(
javax.xml.XMLConstants.W3C_XML_SCHEMA_NS_URI);
Schema schema = sf.newSchema(new File("myschema.xsd"));
unmarshaller.setSchema(schema);

यदि आप अशक्त में गुजरते हैं setSchema, यह सत्यापन अक्षम करता है।

कृपया जांचें यह संदर्भ.


जवाब के लिए 2 № 2

यदि आप जावा वस्तुओं को सत्यापित करने के लिए देख रहे हैं कि एक स्कीमा के अनुसार वैध XML उत्पन्न होता है, तो JAXB- सत्यापन परियोजना देखें:

https://jaxb-verification.dev.java.net/

यह एक JAXB RI प्लगइन है xjc जो XML स्कीमा के लिए एक ObjectVerifier कार्यान्वयन उत्पन्न करेगा। यह एक्सएमएल को मान्य करने के लिए जावा ऑब्जेक्ट को मार्शल करने से बचा जाता है।