#c
#c
Вопрос:
Есть ли какая — нибудь хорошая автоматическая объектная библиотека xml для C ?
С хорошим бенчмарком и мультиплатформенной поддержкой (если нет, то хотя бы linux)
Редактировать: Дополнительное описание
Я хочу, чтобы библиотека выглядела какhttp://www.codesynthesis.com/products/xsd где я могу использовать любой xml в качестве объекта c .
XMLOBJECT x=new XMLOBJECT("my.xml");
x->root
x->root->child
Означает привязку данных XML в C
Комментарии:
1. Обратите внимание, что для этого вам необходимо предварительно обработать XSD для ваших типов XML для классов C . Вы не можете использовать произвольный XML для этого и ожидать, что для этого будет создан код. Это потому, что C не поддерживает динамическую генерацию классов. Это статически скомпилированный язык.
2. @Macke да, у меня будет XSD для каждого xml.
Ответ №1:
Я думаю, что вы имеете в виду то, что называется привязкой данных XML.
gsoap — это бесплатный инструмент, который делает это. Конечно, существует множество коммерческих инструментов — XML Spy и другие. Вот хороший список ресурсов.
Ответ №2:
boost::serialization предоставляет эту функциональность, вы можете сериализовать свой объект в xml и обратно, а также в другие форматы.
Ответ №3:
Если я правильно понимаю, вы ищете что-то вроде pococapsule
Ответ №4:
Мы используем Codalogic LMX; немного дорого, но у них есть бесплатная версия «express», которая может оказаться достаточно хорошей.
Ответ №5:
Вы можете попробовать эту библиотеку. Это мультиплатформенный
Ответ №6:
Их много. Пожалуйста, ознакомьтесь с некоторыми из них
- LibXML — http://xmlsoft.org/python.html
- Крошечный XML — http://www.grinninglizard.com/tinyxml /
- Быстрый XML — http://rapidxml.sourceforge.net /
- Синтез кода XSD — http://www.codesynthesis.com/products/xsd /
- Прикладная математика — http://www.applied-mathematics.net/tools/xmlParser.html
- Xerces-C — http://xerces.apache.org/xerces-c /
- gSOAP — http://sourceforge.net/projects/gsoap2 /
- pugiXML — http://code.google.com/p/pugixml /
- XML Lite (Windows) — http://msdn.microsoft.com/en-us/magazine/cc163436.aspx
Комментарии:
1. все ли они выполняют привязку данных или некоторые предназначены только для синтаксического анализа xml?
2. Некоторые из них предназначены только для синтаксического анализа. Например, TinyXML.