XML-файл Objective-C (Desktop) / веб-страница для NSTableView - PullRequest
0 голосов
/ 25 апреля 2010

Я ищу, чтобы получить документ XML из частного API, а затем проанализировать его в табличном представлении.

Я просмотрел несколько статей, но не могу найти ничего, что полностью помогло бы мне.

У кого-нибудь есть какие-нибудь статьи, учебные пособия, примеры и т. Д., Которые могут мне помочь?

Заранее спасибо!

Ответы [ 2 ]

4 голосов
/ 25 апреля 2010

Я бы сказал, что это можно разделить на две проблемы:

Первый: синтаксический анализ XML

Есть два способа сделать это: некоторые как управляемый событиями XML ; Я настоятельно предпочитаю древовидный XML . Вы должны прочитать немного в каждом из этих руководств и понять, какой из них наиболее полезен для вас; Могу поспорить, что вы предпочтете один из них на основе вашего прошлого опыта программирования.

Второе: использование табличных представлений

После того, как вы проанализировали ваш XML в каком-то словаре или пользовательском объекте, вам нужно будет отобразить информацию об этом объекте в табличном представлении. Для этого я предлагаю привязки. В этом руководстве по CocoaDevCentral объясняется, как использовать привязки для отображения информации в NSTableView. (Он даже охватывает использование нескольких табличных представлений для создания интерфейса, подобного Mail.app, который может вам пригодиться, а может и не пригодиться.)

Или ... Альтернативный, менее гибкий метод

В руководстве по древовидному XML есть раздел, посвященный привязке объектов NSXMLDocument непосредственно к табличным представлениям. Если вы уверены, что будете изменять XML таким прямым способом (например, если вы писали, скажем, редактор XML!), То, возможно, это хорошая идея, и вам следует проверить этот пример проекта . В противном случае он будет негибким, и вам придется изменить его, как только вы добавите функции.

Удачи!

0 голосов
/ 25 апреля 2010

У меня недавно была похожая проблема, и я остановился на библиотеке TouchXML http://code.google.com/p/touchcode/wiki/TouchXML Она охватывает кластер классов NSXML и основана на общедоступной библиотеке libxml2 с открытым исходным кодом. Страница TouchXMLHowTo http://code.google.com/p/touchcode/wiki/TouchXMLHowTo была полезна для начала работы. С TouchXML вы можете использовать XPath, и я обнаружил, что это наиболее похоже на то, что я делал в Java.

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