Любые рамки привязки XML для Objective-C?

Существует ли какая-либо инфраструктура привязки XML для Objective-C?

Я пробовал несколько поисков в google и еще ничего не нашел.

Я ищу что-то, что читает из XSD/DTD/XML и генерирует:

  • классы Model для хранения значений
  • фактический анализатор, который читает из XML и заполняет классы модели

Ответы

Ответ 2

Кажется, что есть немного путаницы в отношении SAXy. Это не другая библиотека DOM, такая как NSXMLDocument или KissXML.

SAXy нацелен на другое проблемное пространство - привязку XML непосредственно к объектам домена с использованием более легкой модели управляемой событиями. Это более похоже на JAXB или Castor в мире Java.

Самый близкий родственник в области Objective-C - это код моделирования в RestKit. Хотя RestKit рекламирует поддержку XML, она в основном была удалена из текущей версии. SAXy был написан для заполнения пустоты.

Ответ 4

Я не нашел внешних фреймворков для привязки XML, но я думаю, вы должны проверить Apple, предоставленное решение.

Для синтаксического анализа XML я preffer libxml2, здесь является простым руководством по внедрению этого мощного анализатора в ваш проект.

Надеюсь, я помог тебе.

Ответ 5

LibXML - лучшее решение для этого требования. Он может загружать DTD и анализировать XML. Вы также можете использовать XPath для сопоставления модели с данными внутри структуры XML

Ответ 6

Я не знаю, работает ли это для вас или нет, но GData object c library от Google может решить вашу задачу. Вы можете serach для цели GDataXML C в google. вы получите ссылку на code.google.com. Вы можете проверить, поддерживают ли они эту вещь. GData - действительно обширная библиотека, поэтому может быть, она может решить все для вас.

Ответ 7

Если формат для вас не важен, вы можете использовать формат plist! Это XML с DTD, некоторые разные!

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">

Однако вы можете напрямую прочитать этот plist с NSDictionary (прочитайте документацию NSDictionary). Это так мощно и быстро! Никакой дополнительной рамки:)

Надеюсь, я помог тебе.

Ответ 8

В github теперь есть полнофункциональная инфраструктура XML Marshalling для Objective-C:

https://github.com/reaster/saxy

Он имеет чистый API, автоматически сопоставляет классы с элементами, настраивается с помощью блоков и работает на iOS без зависимостей сторонних производителей.