[Java] एक्सएमएल को जावा ऑब्जेक्ट में परिवर्तित करना


Answers

यदि आपके पास एक्सएमएल स्कीमा है, तो जेएएडीबी अच्छा है - जेडीके के हिस्से के रूप में आता है। चल कर जावा वर्ग उत्पन्न करें जैसे कि xjc -p foo myschema.xsd

एक्सएमएल फाइल को पढ़ने के लिए और ऑब्जेक्ट को वापस लाने के लिए (एक्सजेसी टूल द्वारा उत्पन्न वर्गों से):

    JAXBContext context = JAXBContext.newInstance(FooObj.class);
    Unmarshaller unMarshaller = context.createUnmarshaller();
    FooObj param = (FooObj) unMarshaller.unmarshal(new FileInputStream("Foo.xml"));

आप इसी तरह की बातें कर सकते हैं यदि आप केवल किसी वस्तु को परिवर्तित किए गए किसी एक्सएमएल दस्तावेज़ के कुछ हिस्सों को ही प्राप्त कर सकते हैं, तो आपको उदाहरण के रूप में एक संपूर्ण फाइल के बजाय, एक DOM दस्तावेज़ के JAXB भाग देना चाहिए।

Question

जावा ऑब्जेक्ट में XML कन्वर्ट करने का सबसे अच्छा तरीका क्या है?

मैं ऐसा प्रतिनिधित्व नहीं करना चाहता हूं, लेकिन XML से कुछ डेटा खींचना चाहता हूं और जावा ऑब्जेक्ट को पॉप्यूलेट करना चाहता हूं। मैंने एक्सस्ट्रीम पर एक नजर डाली, लेकिन वास्तव में पूरे "नीचे की ओर बढ़ना", सामान का प्रकार "ऊपर जाना" नहीं था कन्वर्टर्स लिखते समय मैं एक डोम ऑब्जेक्ट पसंद करता हूं ...




जेएक्सएबी ऑब्जेक्ट्स को एक्सएमएल में परिवर्तित करने का सबसे अच्छा तरीका है, और मोक्सॉ सबसे अच्छा जेएसीबी कार्यान्वयन है

  • JAXB मानक है , जो जावा एसई 6 में शामिल है
  • जेएक्स-डब्ल्यूएस, जेएक्स-आरएस और एससीए के लिए स्टैंडर्ड एक्सएमएल बाध्यकारी तकनीक
  • सरल रनटाइम

MOXy निम्नलिखित एक्सटेंशन प्रदान करता है:




आप जावा के पीछे एक्सएमएल के सुविधाजनक रूपांतरण के लिए कास्टर का उपयोग कर सकते हैं।

केस्टर के साथ, आप कर सकते हैं

  1. सरल रूपांतरण: एक सरल मार्शलर और यूनमरशेलर एक्सएमएल को जावा का रूपांतरण और बेहद आसान बना देता है।
  2. मैपिंग: एक्सएमएल से जावा और पीठ में परिवर्तित होने वाले डेटा की मात्रा को प्रतिबंधित करने के लिए मानचित्रण फ़ाइल बनाई जा सकती है।