1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/xfwangqiang-simple_xml

Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

Simple_xml: краткое описание

Simple_xml — это основанный на языке C XML-парсер. Существующие открытые парсеры связаны с операционной системой, поэтому их сложно применять для некоторых менее распространённых систем, включая встраиваемые операционные системы. Цель разработки этого проекта — создать код, который можно было бы использовать на разных платформах. Однако, поскольку количество платформ, с которыми мы работаем, невелико, нам нужна помощь сообщества, чтобы постепенно улучшать проект. На данный момент код применяется в основных операционных системах, таких как WIN10, Linux, rt-thread и VxWorks.

Simple_xml: особенности

  • Реализован объект узла XML (XML node object), который является основной функцией этого парсера.
  • На основе объекта узла XML создан объект элемента XML (XML element object), что упрощает работу с функциями, связанными с XML element.
  • Основное приложение использует функции объекта элемента XML для чтения или записи атрибутов, текста и дочерних узлов элемента XML.
  • Предоставлен набор функций для работы со строками, что снижает зависимость от стандартных библиотек и облегчает поддержку разных платформ.
  • Поддерживает все основные операционные системы и может работать во встраиваемой среде, но использует динамическое распределение памяти, и во встраиваемой среде необходимо учитывать реализацию файловой системы и динамического ядра.
  • Предлагает некоторые функции, которые могут быть полезны при работе с XML, например, xml_ishex, которая определяет, является ли строка строкой шестнадцатеричного формата.
  • Обеспечивает абстрактные слои для операций с файлами и памятью, чтобы отделить API, связанные с платформой, и облегчить расширение неподдерживаемых файловых систем и библиотек управления динамической памятью.

Структура каталогов

Название Описание
docs Планируется подробное объяснение каждого модуля, пока не завершено
examples Включает main.c и xmltest.xml в качестве примера
inc Заголовочные файлы simple_xml
src Исходные файлы simple_xml
LICENSE Лицензия MIT
README.md Описание SimpleXML
Sconscript Скрипт сборки для пакета rt-thread

Методы переноса

    1. Скопируйте папки inc и src в свой каталог.
    1. В файле .c, где вы отлаживаете API simple_xml, включите заголовочный файл xml_export.h.
    • Для поддерживаемых операционных систем:
        1. Настройте макрос OS_VER в xml_config.h на целевую систему.
    • Для неподдерживаемых платформ:
        1. Настройте макрос OS_VER в xml_config.h как OS_UNKOWN.
        1. Вызовите функции xml_fconfig и xml_mconfig для настройки функций абстракции файлов и функций абстракции памяти.

Примеры использования В настоящее время нет рабочей среды VxWorks, поэтому тестирование невозможно. Однако опыт использования показывает, что он работает аналогично Linux.

Сборка с использованием GCC и Makefile Тестирование проводилось только в среде Linux. Скрипт makefile в WIN10 несовместим, и его использование может вызвать проблемы. Рекомендуется использовать среду VS2019 для создания тестовой среды в WIN10.

    1. Перейдите в каталог example/build/make.
    1. Введите команду в командной строке: $ make.
    1. Введите команду в командной строке: $ ./simple_xml ../../xmltest.xml.
    1. Проверьте, соответствует ли вывод содержимому xmltest.xml.

Сборка с использованием GCC и Scons Сборка на основе rt-thread

  • Ручная миграция:
    • Поместите весь каталог simple_xml в пакеты BSP rt-thread.
    • Вручную добавьте в заголовок rtconfig.h:
#define PKG_USING_SIMPLE_XML
#define PKG_USING_SIMPLE_XML_EXAMPLE
* Соберите с помощью инструмента ENV:
> scons
* Загрузите прошивку на целевую плату или qemu.
* Переместите example/xmltest.xml в файловую систему rt-thread.
* Введите следующую команду:
msh />xml_test
  • Использование пакета:
    • В среде ENV используйте menuconfig, найдите simple_xml.
RT-Thread online packages 
    → IoT - internet of things 
        → simple_xml  : Based on the XML parser of the C language.
* Скачайте пакет:
> pkgs --update
* Следуйте шагам ручной миграции до шага 3.

Репозитории

Документация

Журнал изменений

  • В 2022 году применён на платформе RT-Thread RTOS в виде пакета. Оптимизирована структура файлов. Добавлены модули файлов и управления памятью, абстрагированы операции чтения и записи файлов и операции с памятью для расширения файловых систем и динамических библиотек управления. Добавлен пример сборки с использованием makefile.
  • В 2020 году применён на платформе Linux.
  • В 2018 году применён на платформе VxWorks.

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

Описание недоступно Развернуть Свернуть
MIT
Отмена

Обновления (1)

все

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/xfwangqiang-simple_xml.git
git@api.gitlife.ru:oschina-mirror/xfwangqiang-simple_xml.git
oschina-mirror
xfwangqiang-simple_xml
xfwangqiang-simple_xml
master