Портирование синтаксического анализа XML с Java на Objective C - PullRequest
0 голосов
/ 30 ноября 2010

Я пытаюсь перенести код, написанный на Java, в Objective C (для iPhone), но меня немного смущают несколько строк моего кода (упомянутых ниже). Как мне эффективно это портировать?

Namespace nmgrhistory=Namespace.getNamespace("history", "http://www.mywebsite.com/History.xsd");
        pEventEl.addContent(new Element("History",nmgrhistory));
        Namespace nmgrState=Namespace.getNamespace("state", "http://www.mywebsite.com/State.xsd");
        pEventEl.addContent(new Element("State",nmgrState));

        Iterator<Element> eld=(Iterator<Element>) pEventEl.getChild(
                pEventEl.getName() == "event"?  "./history:history/state:state" : "./state:state",pEventEl.getNamespace());

Я не очень уверен насчет замен для классов Namespace, Iterator и Element.

Если у вас есть идея или вы уже делали это раньше, пожалуйста, просветите меня.

Ответы [ 3 ]

1 голос
/ 30 ноября 2010

Хорошо ... Итак, хотя это не фактические замены ... Но в основном то, что вам нужно для анализа XML в Objecive - C равно "NSXMLParser"

, так что вы можете сказать,что NSXMLParser является заменой для Пространства имен

А для "Iterator" NSXMLParserDelegate имеет метод с именем: -

– parser:didStartElement:namespaceURI:qualifiedName:attributes:

ИЛИ

– parser:foundCharacters:
0 голосов
/ 30 ноября 2010

Что ж, спасибо всем за попытки ответить, но я получил хорошую библиотеку TouchXML , которая решает эту задачу.

0 голосов
/ 30 ноября 2010

Я не знаю java, но URL, на который вы указываете, это файлы .xsd, которые являются файлами определения xml. Синтаксический анализ XML в iOS несколько ограничен: NSXMLParser.

Я настоятельно рекомендую один из bazillion XML-анализаторов с открытым исходным кодом. Они намного удобнее в использовании.

...