मुझे यकीन नहीं है कि जैक्सब के साथ निम्नलिखित प्रश्न संभव है, लेकिन मैं वैसे भी पूछूंगा।रूट तत्व के बिना जैक्सब मार्शल बाल तत्व क्या कर सकते हैं?
एक निश्चित परियोजना में, हम xml फ़ाइल की अगली संरचना बनाने के लिए परिभाषित स्कीमा के साथ जैक्सबी का उपयोग कर रहे हैं। aaa और bbb, जहां aaa @XmlRootElement के रूप में बनाया गया:
<aaa>
<bbb>
more inner children here
</bbb>
<bbb>
more inner children here
</bbb>
</aaa>
हम भी JAXB का स्वत: वर्ग पैदा जो कक्षाओं बनाता का उपयोग कर रहे हैं।
अब हम एक नई परियोजना में एक ही स्कीमा का उपयोग करना चाहते हैं, जो पिछले प्रोजेक्ट के साथ भी संगत होगा। मैं क्या करना चाहता हूं, उसी जेएक्सबी जेनरेटेड क्लास का उपयोग करना है, स्कीमा में कोई भी बदलाव किए बिना xshal में केवल एक ही बीबीबी ऑब्जेक्ट को मार्शल करने के लिए।
JAXBContext jc = JAXBContext.newInstance("generated");
Marshaller marshaller = jc.createMarshaller();
marshaller.marshal(bbb, writer);
तो हम अगले परिणाम मिलेगा:
<bbb>
<inner child1/>
<inner child2/>
...
</bbb>
मैं वर्तमान में ऐसा करने में सक्षम नहीं कर रहा हूँ के रूप में marshaller चिल्लाता है कि मैं एक @XmlRootElement परिभाषित नहीं है।
हम वास्तव में स्कीमा को 2 स्कीमा में विभाजित करने के मामले से बचने की कोशिश कर रहे हैं, केवल बीबीबी में से एक और दूसरा जहां aaa bbb आयात करता है।
अग्रिम धन्यवाद!
मैं इस पोस्ट में समाधान खोजने के लिए सक्षम था [JAXB के साथ खंडित मार्शलिंग] [1] [1]: http://stackoverflow.com/questions/9295385/jaxb-fragmented-marshalling?lq=1 –