ग्रीटिंग्स!JAXB unmarshall <string> foobar</string>
<string xmlns="...">foobar</string>
मैं JAXB के लिए नया हूँ और यह छोड़कर, काम कर सामान का एक बहुत मिल गया है: मैं अपने ग्राहक के लिए एक सर्वर लौटने एक्सएमएल सामग्री है कि इस तरह दिखता है। मैंने सोचा कि यह स्ट्रिंग से और उसके लिए मार्शल और अनमशाल के लिए बहुत आसान होगा। यह कुछ समय लिया, लेकिन मैं अंत में पता लगा है कि कैसे के रूप में
public static String ToXML(String s) throws Exception
{
JAXBContext context = JAXBContext.newInstance(String.class);
Marshaller marshaller = context.createMarshaller();
StringWriter sw = new StringWriter();
marshaller.marshal(new JAXBElement(new QName("", "String"), String.class, s), sw);
return sw.toString();
}
तो मेरे सवाल, कैसे मैं इस unmarshal लिए है इस मार्शल करने के लिए? इसे रूट तत्व के रूप में एनोटेट नहीं किया जा सकता है। मैं javaBClxtxt का एक नया उदाहरण बनाने के लिए पैकेज के रूप में java.lang का उपयोग नहीं कर सकता (मुझे ऑब्जेक्ट फैक्टरी अनुपलब्ध अपवाद मिलता है)।
प्रदान करने के लिए कोई ज्ञान? यह मुश्किल नहीं हो सकता है, है ना?
एक एक्सएमएल स्कीमा जेएक्सबी के साथ पूरी तरह से वैकल्पिक है। यह आपके ऑब्जेक्ट मॉडल को हाथ से एनोटेट करने के लिए पूरी तरह से स्वीकार्य है। – skaffman
सच है, लेकिन ऑब्जेक्ट्स का स्कीमा-जेनरेटेड सेट होने से दस्तावेज़ में शुद्धता सुनिश्चित होती है (दस्तावेज़ को स्कीमा के विरुद्ध सत्यापित किया जा सकता है) और जावा ऑब्जेक्ट्स (फ़ील्ड को मिस करना आसान है)। आप प्रक्रिया को कई अनुप्रयोगों और मशीनों में भी दोहरा सकते हैं। –