ElementTree имеет хороший pythony API. Я думаю, что это даже поставляется как часть python 2.5
, Это находится в чистом Python и как я говорю, довольно хороший, но если Вы волнуете необходимость в большем количестве производительности, тогда , lxml представляет тот же API и использует libxml2 под капотом. Можно теоретически просто загрузить его, когда Вы обнаруживаете необходимость в нем.
Думаю, это должно дать вам все вам нужно:
http://developer.apple.com/mac/libra...reData/Articles/cdMultiThreading.html
Если вам нужно выгрузить выборку в фоновый поток, вот небольшой совет от документ, на который я ссылался выше:
Получение в фоновом потоке
Один из простейших многопоточных методы, которые вы можете использовать с Core Data улучшить отзывчивость приложений выполнить запрос на выборку фоновый поток. (Обратите внимание, что это техника полезна, только если вы используя хранилище SQLite, поскольку данные из двоичные и XML-хранилища считываются в память сразу открывается.) означает, что если выборка сложна или возвращает большой объем данных, вы может вернуть управление пользователю и отображать результаты по мере их поступления. Для пример того, как это сделать, см. Пример BackgroundFetching в /Developer/Examples/CoreData/.
Вы используете два контекста управляемых объектов связаны с одним постоянным координатор магазина. Вы получаете в одном контекст управляемого объекта на фоне поток и передать идентификаторы объектов доставил объекты в другой поток. В второй поток (обычно основной поток приложения, так что вы затем можно отобразить результаты), вы используете второй контекст ошибки в объектах с этими идентификаторами объектов (вы используете objectWithID: для создания экземпляра объект).