Проверьте вид узла в дереве XML - PullRequest
0 голосов
/ 08 марта 2010

Я построил дерево XML из файла XML. При построении я делаю initWithKnd: или initWithKind: options: метод.

Как я могу проверить, является ли узел элементом или CDATA или другого типа при трассировке дерева XML.

Ответы [ 2 ]

1 голос
/ 09 марта 2010

Для типа NSXMLNode указан метод kind , возвращаемое значение из enum NSXMLNodeKind .

NSXMLNodeKind kind = [node kind];

Обратите внимание, что для узлов CDATA нет значения. Они становятся текстовыми узлами, поскольку разница между текстом и CDATA не сохраняется в API.

0 голосов
/ 12 марта 2010

При трассировке дерева XML можно получить текущий узел, а затем проверить, принадлежит ли тип узла к элементу или CDATA или какому-либо другому виду.

NSArray *array = [rootNode children];
NSXMLNode *node = [array objectAtIndex:index];

if([node kind] == NSXMLElementKind )// depending on one's requirement
{
    // doSomething
}
...