मैं XML में हेरफेर करने के लिए xStream का उपयोग कर रहा हूं। सब ठीक है। एक्सएमएल संग्रह और अन्य चीजों को रखने के लिए। लेकिन, मुझे एक समस्या है:xStream समस्याएं - एकाधिक ऑब्जेक्ट्स को deserialize कैसे करें
उदाहरण: मेरे एक्सएमएल में एक टैग है, और इसके अंदर, मेरे पास <comment>
नामक कुछ और टैग हैं। एक उदाहरण कोड देखें:
<comments>
<comment>
<id>1</id>
<desc>A comment</desc>
</comment>
<comment>
<id>2</id>
<desc>Another comment</desc>
</comment>
<comment>
<id>3</id>
<desc>Another one comment</desc>
</comment>
</comments>
और प्रगतिशील। मैं टैग के अंदर 500 टैग कर सकता हूं। और ये टिप्पणियां प्रकार की टिप्पणी हैं।
कक्षाओं में इन सभी टैग को रखने के लिए मैं xStream के साथ क्रमबद्ध करने के लिए कैसे कर सकता हूं? मैं इस वर्ग में विभिन्न वस्तुओं को प्राप्त करने के लिए कैसे नहीं करता हूं।
जाहिर है, मैं इसे एक ऐरे या कुछ अन्य के साथ बनाउंगा। लेकिन मुझे नहीं पता कि मैं यह कैसे कर सकता हूं। ,
XStream xstream = new XStream();
xstream.alias("comments", Comments.class);
xstream.alias("comment", Comment.class);
xstream.addImplicitCollection(Comments.class, "comments");
Comments comments = (Comments)xstream.fromXML(xml);
Additionaly के रूप में निशान में उल्लेख किया है:
public class Comment {
long id
String desc
}
public class Comments {
List<Comment> comments = new ArrayList<Comment>();
}
आपका unmarshalling तर्क तो की तरह कुछ होगा:
आपका एक्सएमएल दिखता है थोड़ा सा ' 'टैग' ' टैग के साथ समाप्त होना चाहिए, और ' 'टैग नहीं होना चाहिए। साथ ही, यह वही है जो आप ढूंढ रहे हैं: http://stackoverflow.com/questions/3136234/xstream-root-as-a-collection-of-objects? –
Nishan
[यह प्रश्न] (http://stackoverflow.com/questions/3824362/xstream-alias-of-list-root-elements) भी समान है। –