Как выполнить синтаксический анализ вложенных узлов с помощью NSXMLParser. Поскольку этот анализатор знать, чтобы разобрать узел мудрого способа XML, как мы должны обрабатывать несколько узлов разбора с такими же именами, как показано ниже:nsxmlparser разобрал один за другим?
<data>
<nodesame attrisame="this is same">
<nodesame> this is also same </nodesame>
<nodedifferent> this is different although </nodedifferent>
</nodesame>
</data>
В выше мы имеем узел основных данных, который содержит nodesame узла, который содержит другой узел nodesame внутри. Скажите, пожалуйста, как различать оба узла с различным контекстом.
Пожалуйста, предложите мне хороший способ для получения словарь/массив от делегата:
parser:didEndElement:namespaceURI:qualifiedName
Я famaliar с libxml2 и touchXML, но с использованием NSXMLParser делает меня с ума, плюс мы должны использовать то же самое, потому что код, который мы используем NSXMLParser, поэтому его изменение в Libxml будет чертовски.
так что мне нужно поддерживать инкремент за каждый раз, потому что теперь я выделяю каждый раз, когда didEndElement вызывается, поэтому старые данные удаляются и выделяется новый массив. – aksani56
Вы можете сделать это, конечно. Поэтому, если вы перейдете в 'didStartElement', а имя -« nodeame », вы сделаете +1, и если вы перейдете в' didEndElement', а имя «nodeame», вы выполните -1. Всякий раз, когда счетчик равен 1, вы находитесь на втором уровне, и всякий раз, когда он равен 0, вы находитесь в первом. – vakio
Спасибо @vakio, который работал как отличный! – aksani56