मुझे सी ++ एप्लिकेशन (जीयूआई के लिए क्यूटी फ्रेमवर्क का उपयोग करके) लिखना है जो xsd स्कीमा फ़ाइल द्वारा वर्णित एक्सएमएल फाइलों में संग्रहीत डेटा को संपादित कर सकता है। Xsd स्कीमा को C++ क्लासेस में कनवर्ट करने के लिए कोई उपकरण है?एक्सएमएल स्कीमा से सी ++ कक्षाएं
उत्तर
मुझे लगता है जैसे CodeSynthesis बिल्कुल वही है जो आप खोज रहे हैं। यह खुला स्रोत और सी ++ है।
Altova XML Spy एक एक्सएसडी से सी ++ उत्पन्न कर सकता है, यह वाणिज्यिक है लेकिन 30 दिन का निःशुल्क परीक्षण है यदि आप इसे आजमा सकते हैं।
एक ऐसा माइक्रोसॉफ्ट टूल है जो मुझे लगता है, xsd.exe कहा जाता है (लेकिन मैंने इसे स्वयं नहीं किया है)।
Codalogic LMX भी एक विकल्प है।
उद्देश्य सिस्टम, इंक XBinder XML Schema Compiler (न केवल फर सी ++)।
gSOAP Toolkit यह भी कर सकता है! यह हल्का वजन है, और सी/सी ++ का समर्थन करता है। मैंने पहले से ही सफलता के साथ बहुत मांग परियोजनाओं में इसका इस्तेमाल किया है। इसके अलावा, यह जीपीएल 2 के तहत लाइसेंस प्राप्त है।
पोर्टेबिलिटी: जीएसओएपी एम्बेडेड सिस्टम और छोटे ओएस (उदाहरण के लिए विनसी, सिम्बियन और पामओएस) सहित अधिकांश प्लेटफ़ॉर्म का समर्थन करता है। पोर्टेबिलिटी का परीक्षण विंडोज (98, एक्सपी, विस्टा), लिनक्स, यूनिक्स, मैक ओएस एक्स, सोलारिस, एचपी-यूएक्स, एईक्स, फ्रीबीएसडी, टीआरयू 64, आईरिक्स, क्यूएनएक्स और वीएक्सवर्क्स के लिए किया जाता है।
कोडसिंथेसिस जनरेटर के रूप में एक ही लाइसेंसिंग सीमा के रूप में दिखाई देता है। –
गूगल पर XmlPlus-xsd2cpp देखें:
XmlPlus xsd2cpp प्रदान करता है W3C XML-स्कीमा के माध्यम से सी ++ एक्सएमएल डेटा-बाइंडिंग "का उपयोग करने के लिए सरल"। XmlPlus की
कृपया ध्यान दें कि टूल Google द्वारा नहीं है, यह अभी Google कोड पर होस्ट किया गया है। – Beginner
द्वारा कवर किया जाता सभी जनरेटर बिल्कुल भयानक हैं।
एक्सएसडी एक वर्ग पदानुक्रम का वर्णन करता है जिसमें कक्षाओं में उप-वर्ग होते हैं, जिनमें अन्य उप-वर्ग शामिल हो सकते हैं और आप जो भी करना चाहते हैं, वह उसी तरह इसका प्रतिनिधित्व करता है।
<xs:element name="shipto">
<xs:complexType>
<xs:sequence>
<xs:element name="name" type="xs:string"/>
<xs:element name="address" type="xs:string"/>
<xs:element name="city" type="xs:string"/>
<xs:element name="country" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
आप की तरह कुछ का उत्पादन करना चाहते हैं:
class shipTo
{
private:
string name;
string address;
string city;
string country;
public:
set_Name();
get_Name();
...
}
आप इसे खोजने के लिए नहीं जा रहे हैं
उदाहरण के लिए अगर यह अपने स्कीमा है। मुझे मिली सबसे नज़दीकी चीज xjc है, जो जावा के लिए है।
आप कुछ कार्यक्षमता की अपेक्षा करेंगे क्योंकि यह कार्यक्षमता मौजूद होगी, लेकिन मुझे अभी तक यह नहीं मिला है, और हाँ, मैंने अल्टोवा एक्सएमएल-स्पाई का उपयोग किया है। मुझे गंभीरता से हैरान है कि कोई भी कोड जनरेटर के रूप में सुझाव देगा। इसका जेनरेट कोड बिल्कुल भयानक है।
मैं अपने प्रोजेक्ट के लिए ऐसा करने के लिए एक लेक्स/बाइसन पार्सर लिख रहा हूं क्योंकि अब तक के सभी टूल्स मैं काफी भयानक कोड का उत्पादन कर पा रहा हूं। अल्टोवा में 30 दिन का परीक्षण अवधि है, अगर आप मुझ पर विश्वास नहीं करते हैं, तो इसे आजमाएं। मेरे एक्सएसडी के लिए एक लेक्स/बाइसन पार्सर लिखना आसान है, यह एक $ 500 पेशेवर कोड पैकेज का उपयोग करना है जो एक भयानक वर्ग का प्रतिनिधित्व करता है।
मुझे विश्वास नहीं है कि लोग सी ++ में एक्सएमएल का उपयोग करते हैं क्योंकि इसके लिए उपकरण भयानक हैं।
क्या आप हमें "खराब उपकरण" के उत्पादन का एक उदाहरण दिखा सकते हैं और समझा सकते हैं कि आपको क्यों बुरा लगता है? –
प्रतिक्रिया में नहीं हो सकता क्योंकि मैं यहां "मिनी-मार्कडाउन स्वरूपण" में फंस गया हूं। मैंने आपको एक उदाहरण स्कीमा दिया - आगे बढ़ें और उस पर अल्टोवा एक्सएमएल जासूस चलाएं और उदाहरण के लिए इसकी तुलना करें मेरा हाथ XSD-> सी ++ लेक्स/बाइसन/हैक उत्पादन करता है। आगे बढ़ें। मैं उपलब्ध उपकरणों के साथ सबसे कम प्रभावित नहीं हूँ। एक्सजेसी काफी अच्छे कोड का उत्पादन करता है, हालांकि, यह जावा में है इसलिए यह मेरे लिए उपयुक्त नहीं है। मुझे लगता है कि मैं पत्थर चाकू और भालू के साथ काम कर रहा हूँ। – user6269400
अल्टोवा जासूस नहीं है ... अपनी प्रस्तावित कक्षा संरचना देखें और सहमति दें कि यह उचित दिखता है। शायद आप 1-2 वाक्यों में समझा सकते हैं कि अल्टोवा क्या करता है जिसे आप नापसंद करते हैं। –
- 1. सी ++ एक्सएमएल स्कीमा कोड जेनरेटर
- 2. एक्सएमएल स्कीमा प्रमाणीकरण सी #
- 3. एक्सएमएल स्कीमा
- 4. एक्सएमएल स्कीमा (एक्सएसडी)
- 5. एक्सएमएल स्कीमा (एक्सएसडी)
- 6. पूर्ण एक्सएमएल स्कीमा प्रमाणीकरण
- 7. जावा एक्सएमएल स्कीमा सत्यापन:
- 8. एक्सएमएल स्कीमा: प्रतिस्थापन समूह
- 9. विशेषता मान (एक्सएमएल स्कीमा)
- 10. एक्सएमएल स्कीमा नेमस्पेस
- 11. एचआर-एक्सएमएल डेटाबेस स्कीमा
- 12. एकाधिक XSD स्कीमा से सी # कक्षाएं उत्पन्न करने के लिए XSD.exe का उपयोग
- 13. सी ++ उपकरण एक्सएमएल स्कीमा से यादृच्छिक एक्सएमएल फाइलें उत्पन्न करने के लिए?
- 14. एक्सएमएल स्कीमा: खाली लक्ष्य नामस्थान
- 15. दो एक्सएमएल स्कीमा की तुलना
- 16. एक्सएमएल स्कीमा और दस्तावेज़ रूट
- 17. एक्सएमएल DTD/स्कीमा मान्यता Maven
- 18. एक्सएमएल सीरियलाइजेशन और स्कीमा xsd.exe
- 19. एक्सएमएल स्कीमा अभी भी अद्वितीय
- 20. एमएस एसक्यूएल डाटाबेस से एक्सएमएल स्कीमा प्राप्त करना
- 21. .XSD फ़ाइलों से जावा कक्षाएं उत्पन्न करें ...?
- 22. सी # लिंक से एक्सएमएल
- 23. डीटीडी या एक्सएमएल स्कीमा। इनमे से कौन बेहतर है?
- 24. एक्सएमएल स्कीमा: इसी स्कीमा के साथ आयात को बदलना
- 25. डब्ल्यू 3 सी एक्सएमएल स्कीमा के आधार पर, इमाक्स में स्कीमा-संवेदनशील संपादन? (नहीं RNG)
- 26. स्कीमा फैक्ट्री प्लेटफार्म स्तर 8 में डब्ल्यू 3 सी एक्सएमएल स्कीमा का समर्थन नहीं करता है?
- 27. क्या मेरे पास एक एक्सएमएल स्कीमा (एक्सएसडी) एक और एक्सएमएल-स्कीमा शामिल हो सकती है?
- 28. सी ++ कक्षाएं उद्देश्य-सी कक्षा
- 29. सी ++ कक्षाएं प्रोटोटाइप संघर्ष
- 30. मौजूदा डीबी स्कीमा
यह ध्यान देने योग्य है कि * ओपन सोर्स * थोड़ा मुश्किल है। * कोडसिंथेसिस * द्वारा उत्पन्न कोड भी जीपीएल लाइसेंस द्वारा कवर किया गया है, इसलिए आप अपने पूरे एप्लिकेशन के स्रोत कोड को वितरित किए बिना इसे अपने एप्लिकेशन में उपयोग नहीं कर सकते हैं। [कम मात्रा के उपयोग] के लिए अपवाद हैं (http://www.codesynthesis.com/products/xsd/free-license.xhtml) या हालांकि खरीदने के लिए मालिकाना लाइसेंस। – Jarekczek