What is the best open XML parser for C++? -


this question has answer here:

i looking simple, clean, correct xml parser use in c++ project. should write own?

how rapidxml? rapidxml fast , small xml dom parser written in c++. aimed @ embedded environments, computer games, or other applications available memory or cpu processing power comes @ premium. rapidxml licensed under boost software license , source code freely available.

features

  • parsing speed (including dom tree building) approaching speed of strlen function executed on same data.
  • on modern cpu (as of 2008) parser throughput 1 billion characters per second. see performance section in online manual.
  • small memory footprint of code , created dom trees.
  • a headers-only implementation, simplifying integration process.
  • simple license allows use purpose, both commercial , non-commercial, without obligations.
  • supports utf-8 , partially utf-16, utf-32 encodings.
  • portable source code no dependencies other small subset of c++ standard library.
  • this subset small can emulated manually if use of standard library undesired.

limitations

  • the parser ignores doctype declarations.
  • there no support xml namespaces.
  • the parser not check character validity.
  • the interface of parser not conform dom specification.
  • the parser not check attribute uniqueness.

source: wikipedia.org://rapidxml


depending on use, may use xml data binding? codesynthesis xsd xml data binding compiler c++ developed code synthesis , dual-licensed under gnu gpl , proprietary license. given xml instance specification (xml schema), generates c++ classes represent given vocabulary parsing , serialization code.

one of unique features of codesynthesis xsd support 2 different xml schema c++ mappings: in-memory c++/tree , stream-oriented c++/parser. c++/tree mapping traditional mapping tree-like, in-memory data structure. c++/parser new, sax-like mapping represents information stored in xml instance documents hierarchy of vocabulary-specific parsing events. in comparison c++/tree, c++/parser mapping allows 1 handle large xml documents not fit in memory, perform stream-oriented processing, or use existing in-memory representation.

source: wikipedia.org://codesynthesis xsd


Comments

Popular posts from this blog

c++ - How do I get a multi line tooltip in MFC -

asp.net - In javascript how to find the height and width -

c# - DataTable to EnumerableRowCollection -