2010-02-14 24 views
13

Czy istnieje jakaś ramka wiążąca XML dla Objective-C?Jakieś struktury wiążące XML dla Objective-C?

Próbowałem już kilku wyszukiwań w google i nie znalazłem jeszcze niczego.

szukam czegoś, który odczytuje z XSD/DTD/XML i generowania:

  • klas modelu do przechowywania wartości
  • rzeczywistego parsera, który odczytuje z pliku XML i wypełnić klas modelu
+0

Czy znajdziesz coś dla szczęścia? Sam się tym interesowałem. Tak bardzo, że myślę o stworzeniu struktury, jeśli nie mogę jej znaleźć. – ra9r

+0

W jaki sposób jest możliwe, że Cel C nie obsługuje automatycznego szyfrowania XML? Byłem zbulwersowany, kiedy się tego nauczyłem ... –

Odpowiedz

0

Nie znalazłem żadnych zewnętrznych ram dla wiązania XML, nadal myślę, że powinieneś sprawdzić Apple pod warunkiem solution.

Do parsowania XML Preferuję libxml2, here to prosty samouczek, jak osadzić ten potężny analizator składni w projekcie.

Mam nadzieję, że ci pomogłem.

0

LibXML jest najlepszym rozwiązaniem dla tego wymagania. Może załadować twój DTD i przeanalizować XML. Możesz także użyć XPath, aby odwzorować Model z danymi wewnątrz struktury XML

0

Nie wiem, czy to działa, czy nie, ale GData Object Library c od Google może rozwiązać twój cel. Możesz wyszukiwać w celu GDataXML C na google. otrzymasz link do code.google.com. Możesz sprawdzić, czy wspierają tę rzecz. GData jest naprawdę ogromną biblioteką, więc może być w stanie rozwiązać te problemy.

0

Jeśli format nie jest dla ciebie ważne, można użyć formatu plist! To jest XML z DTD nieco innym!

<?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"> 

Jednak można bezpośrednio odczytać ten plist za pomocą NSDictionary (przeczytaj dokumentację NSDictionary). Jest tak potężny i szybki! Bez dodatkowych ram :)

Mam nadzieję, że ci pomogłem.

0

Jest teraz w pełni funkcjonalny ramy Marshalling XML dla Objective-C na github:

https://github.com/reaster/saxy

Ma czyste API, automatycznie mapuje klas do elementów, jest wysoce konfigurowalny za pomocą bloków i prace w systemie iOS bez zależności od innych firm.

1

Wydaje się, że jest trochę zamieszania w związku z SAXy. Nie jest to kolejna biblioteka DOM, taka jak NSXMLDocument czy KissXML.

SAXy kieruje inną przestrzeń problemową, wiążącą XML bezpośrednio do obiektów domeny przy użyciu lżejszej wagi event driven model. Jest bardziej zbliżony do JAXB lub Castora w świecie Java.

Najbliższy krewny w kodzie Objective-C to kod modelujący w pakiecie RestKit. Chociaż RestKit reklamuje obsługę XML, to w dużej mierze został usunięty z bieżącej wersji. SAXy został napisany, aby wypełnić pustkę.

Powiązane problemy