मैंने हाल ही में एक्सएमएल कोड बनाने के लिए एक्सएमएल पुस्तकालयों का एक गुच्छा की समीक्षा की।
कार्यकारी सारांश: मैंने TinyXML++ के साथ जाना चुना।
TinyXML ++ सभ्य सी ++ वाक्यविन्यास है, परिपक्व TinyXML सी पुस्तकालयों पर बनाया गया है, मुक्त & ओपन सोर्स (एमआईटी लाइसेंस) और छोटा है। संक्षेप में, यह नौकरी जल्दी से करने में मदद करता है।
Document doc;
Node* root(doc.InsertEndChild(Element("RootNode")));
Element measurements("measurements");
Element tbr("TotalBytesReceived", 12);
measurements.InsertEndChild(tbr);
root->InsertEndChild(measurements);
कौन सा पैदा करता है:
<RootNode>
<measurements>
<TotalBytesReceived>12</TotalBytesReceived>
</measurements>
</RootNode>
मैं इसके साथ काफी खुश किया गया है यहाँ एक त्वरित टुकड़ा है।
मैंने कई अन्य लोगों की समीक्षा की; यहां कुछ बेहतर दावेदार हैं:
Xerces: राजा-पिताजी। सब कुछ (विशेष रूप से जब Xalan के साथ संयुक्त) लेकिन हेवीवेट और उपयोगकर्ता पर मेमोरी प्रबंधन को मजबूर करता है।
RapidXML: पार्स करने (यह एक इन-सीटू पार्सर है और तेजी है), लेकिन डोम के लिए नोड्स जोड़ने के बाद से पीढ़ी के लिए अच्छा नहीं स्मृति प्रबंधन की आवश्यकता है के लिए बढ़िया है।
Boost.XML (प्रस्ताव): महान - शक्तिशाली, उत्कृष्ट सी ++ वाक्यविन्यास दिखता है। हालांकि यह समीक्षा प्रक्रिया के माध्यम से अभी तक नहीं चला है, असमर्थित है और इंटरफ़ेस अच्छी तरह से बदल सकता है। वैसे भी इसका इस्तेमाल किया। बूस्ट में इसकी स्वीकृति के लिए तत्पर हैं।
Libxml (++): बहुत अच्छा; शक्तिशाली, सभ्य वाक्यविन्यास। लेकिन यह बड़ा हैश यदि आप कर रहे हैं एक्सएमएल उत्पन्न कर रहा है और glibmm लाइब्रेरी (ustring के लिए) से जुड़ा हुआ है। अगर हम लिनक्स पर केवल थे (जैसे स्वयं?) मैं गंभीरता से विचार करता हूं।
XiMOL: अद्वितीय स्ट्रीम-आधारित लाइब्रेरी। यह हमारी जरूरतों के लिए थोड़ा सा सरल था लेकिन मूल एक्सएमएल पीढ़ी के लिए आपको यह काफी उपयोगी लगेगा। धारा वाक्यविन्यास काफी साफ है।
उम्मीद है कि कुछ उपयोग में कुछ है!
मैंने एक्सएमएल जीने के लिए [libxml ++] (http://libxmlplusplus.sourceforge.net/) का उपयोग किया है, लेकिन मैं गारंटी नहीं दे सकता कि यह सबसे आसान तरीका है! :-) –