Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 3 years ago.
Improve this question
there's already a topic about it but I haven't found a helpful answer (http://stackoverflow.com/questions/1316320/a-c-code-generator-from-an-xml-spec).
I'm looking for a library or a tool which can read xsd grammar and then can write a corresponding object in c++ (.hpp, .cpp,...).
Except codesynthsesis, does someone know much about it?
There is a huge list of data binding code generators on http://www.w3.org/XML/Schema , just search the site for C++. Also please describe in detail why the answers on A C++ code generator from an XML spec weren't helpful.
The information at http://www.rpbourret.com/xml/XMLDataBinding.htm can be very helpful. But beware that the list of tools on that web site is slowly getting out of date. The W3C list of data binding tools http://www.w3.org/XML/Schema is outdated (the last update was way back in 2009).
I'm using the GSOAP toolkit from SourceForge for all of my XML C++ projects. Also works for plain C. It binds C/C++ to XML schemas automatically and is fully compliant with industry standards for XML, WSDL, SOAP, REST, XML-RPC, JSON, and WS-* protocols.
GSOAP is actively maintained, easy to use, and pretty efficient too.
Related
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 6 years ago.
The community reviewed whether to reopen this question 1 year ago and left it closed:
Original close reason(s) were not resolved
Improve this question
We have requirement of C/C++ Parser in my application. What application does is it calls rest webservice and takes output from service. If output is JSON , it should parse it and shows the result to end user.
Could you please recommend me good/best C/CPP JSON parser (according to you) so that I can use in my application?
When I search online, I am getting multiple JSON parsers. But I would like to know about the best.
Thanks in advance
Assuming you're happy with a C++ implementation of the parser, I've not had any issues with nlohmann/json; although there are faster libraries it has been fast enough for my requirements and has the advantages that:
It is very easy to integrate into your project (single header)
A clean and simple API without excessively verbose syntax
Good test coverage
The Github page linked above has a great overview so it's not worth me going into much more detail here.
For a comparison of libraries along multiple facets (not just performance) you could look here: miloyip/nativejson-benchmark
I highly recommend Cereal. It's a portable, easy to use serialization library for C++, that supports JSON, XML, plain text, and binary formats.
We are happy with RapidJson, which is in use for AssetImporterLib for the GLTF-importer.
You can find a performance test here ( 100% is best ). Regarding to these examples RapiJson has won.
Be never measured the performance on our own to this lib in special.
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 5 years ago.
Improve this question
I've tried to wade through the official documentation on the Boost Spirit page, but I find it completely unintelligible (despite 25+ years programming experience and an English Language degree) -- it's clearly written by somebody who knows the system well (good) but assumes that the reader also knows the system well (bad). I need something that won't throw sentences like
Parsers and generators in Spirit are fully attributed
clearly a meaning of "attributed" I am unaware of, and a web search doesn't help. Or
Sequences require an attribute type to expose the concept of a fusion sequence, where all elements of that fusion sequence have to be compatible with the corresponding element of the component sequence
What is a fusion sequence? The only one I know is happening in the Sun. How in C++ does one "expose" a "concept"?
Are there any good tutorials describing Boost Spirit from a beginner's perspective?
I've found this documentation to be a good read for Boost.
http://en.highscore.de/cpp/boost/parser.html
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 3 years ago.
Improve this question
There is a list of C++ XMLRPC implementations in Wikipedia:
Libiqxmlrpc
Ultra lightweight XML-RPC library for C++
XML-RPC for C and C++
XmlRpc++
XmlRpc C++ client for Windows
gSOAP toolkit for C and C++ supporting XML-RPC and more
libmaia: XML-RPC for Qt/C++
I wonder that people use which of these libraries most. Do you have experience with these libraries?
I've used gSOAP in the past. I found it pretty nice to work with. It's fairly mature and runs on a variety of platforms. I thought the documentation, along with examples to be sufficient. We used it on a project that needed to communicate with ASP.NET web services from a Linux environment.
I think that xmlrpc++ is what you're looking for. Though I can't give objective comparison to every library listed here, I must say that's it's extremely versatile, well-written and somewhat easy to get used to.
Well, it actually some kind of lacks in documentation, but this is also subjective (hate this doxygenized way of presenting information).
Added : ulxmlrpcpp also (never used it, just looked through documentation) seems fine and well-designed.
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 7 years ago.
Improve this question
I'm looking for open-source projects that make use of two things: (1) C++ and (2) XML data binding. For those who don't know, data binding tools make use of XML schema and code generators such as Codesynthesis xsd, Liquid Technologies. I know CIAO/DAnCE project, an implementation of CORBA Component Model that uses XML Schema Compiler (XSC) but I'm hoping to find more.
I have tried http://www.codesynthesis.com/products/xsd/ a few months back and I thought the resulting C++ interface was pretty clean. (It's style is similar to STL / boost APIs)
Other than that the gSOAP toolkit appears to have something too. ( http://www.cs.fsu.edu/~engelen/soapdoc2.html#tth_sEc1.4 )
Some open source projects that use Codesynthesis XSD are listed on this wiki page:
http://wiki.codesynthesis.com/Open_source_projects_that_use_XSD
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 3 years ago.
Improve this question
I want to scan a PowerPoint 2007 file, but I'm trying to do it with C++. Is there any Open XML parser for C++?
Here's a newly released C library called libOPC which has the same intent as the Open XML SDK, but can be used in all of Linux/Windows/Mac/etc. You can read about it here: libOPC version 0.0.1 released and get the code from CodePlex (be sure to check the documentation page for demo videos).
Not yet. But you can make one. The standards specification files are pretty clear, aren't they ;)
Alternatively you can convert http://phppowerpoint.codeplex.com/ using http://github.com/facebook/hiphop-php
Good luck!
Another option is try c++ binding directly. (more useful when you want to check specific small part of document)
http://wiki.services.openoffice.org/wiki/IDL_Files_and_Cpp#Concrete_Example
There are several.
Xerces is the most comprehensive: http://xerces.apache.org/
TinyXML is popular: http://www.grinninglizard.com/tinyxml/
Expat is my favorite: http://expat.sourceforge.net/
You can find more information on Google : XML parser C++