Какие-нибудь рамки связывания XML для Objective-C? - PullRequest
13 голосов
/ 14 февраля 2010

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

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

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

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

Ответы [ 8 ]

2 голосов
/ 13 апреля 2011

Вот обширный и простой учебник , который помогает читать, а также создавать XML-документы, используя GDataXMLParser http://www.raywenderlich.com/725/how-to-read-and-write-xml-documents-with-gdataxml

1 голос
/ 03 марта 2013

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

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

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

0 голосов
/ 03 марта 2013

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

https://github.com/reaster/saxy

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

0 голосов
/ 27 апреля 2011

Если формат не важен для вас, вы можете использовать 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">

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

0 голосов
/ 07 апреля 2011

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

0 голосов
/ 18 марта 2011

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

0 голосов
/ 19 февраля 2010

Я не нашел какой-либо внешней среды для XML-Binding, но все же думаю, что вам стоит проверить предоставленное Apple решение .

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

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

0 голосов
/ 17 февраля 2010

Возможно, вы захотите посмотреть на NSXMLDocument. Руководство по программированию Apple XML: http://developer.apple.com/mac/library/documentation/Cocoa/Conceptual/NSXML_Concepts/NSXML.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...