2011-05-22 9 views
9

Tek bir xml dosyasında listelenen birkaç Veri Kümesi alıyorum. Her veri kümesini ayıklamak ve değerlerine bağlı olarak bazı işlemler yapmak zorundayım (xml dosyasının içeriğini değiştirmemek). Bu yüzden bu dosyayı ayrıştırmak zorundayım.Qt (XSD aracı olmadan) kullanarak bir xsd'den bir C++ sınıfı oluşturmak mümkün mü?

.Net Framework ile birlikte, bir ayrıştırıcıyı kendim yazmaktan kaçınan eşleşen bir sınıf oluşturmak için sadece XSD aracını kullanırdım. Ne yazık ki bu proje Qt ve mingw kullanarak yapılmalı ve benzer bir araç olup olmadığından emin değilim.

xsd'den (otomatik) bir C++/qt sınıfı oluşturmak mümkün mü?

Eğer öyleyse: nasıl?

+1

Hmmm ... sadece bununla aynı fili http://stackoverflow.com/questions/445905/xml-schema-to-c-classes – snoofkin

cevap

6

Güzel soru bkz kontrol etmek isteyebilirsiniz! Qt'nin böyle bir özelliği varsa endişelenmemelisiniz. Açık kaynak olan CodeSynthesisXSD'u kullanabilirsiniz. Oluşturulan sınıfları Qt projenize birleştirebilirsiniz.

+0

CodeSynthesis XSD, – mbx

+0

aradığım şey gibi görünüyor. Uygun bir cevap olarak görmediğim bir alternatif. Her şeyden önce, CodeSynthesisXSD'nin Qt'nin sahip olduğu durumdan farklı bir lisanslama politikasına bakılmalıdır. Bu, potansiyel olarak (OP'nin üzerinde çalıştığı Qt projesine bağlı olarak) yasal sorunlara yol açabilir. İkincisi, bu (yine Qt projesine bağlı olarak) kaçınılması gereken bir şey (bir nedenden ötürü) olabilecek dışsal bir bağımlılıktır. – rbaleksandar

0

xmlpatterns module in qt ile düşünüyorum, xsd'yi ayrıştırmak ve karşılık gelen qt C++ temsilini yapmak çok kolay ve qt yolu olmalıdır.

+0

Bunu kendin denedin mi? – itsbruce

+0

Bir süre önce denedim. –