Справка по TouchXML XPath - PullRequest
0 голосов
/ 21 июня 2011

У меня есть xml. Я использую TouchXML для его анализа. По сути, Lookup выглядит так:

                    <Lookup>
                    <LookupID>201150103538705</LookupID>
                    <LookupName  />
                    <LookupType>Category</LookupType>
                    <VendorID>10</VendorID>
                    </Lookup>

Когда я делаю это, он возвращает все Lookup в документе:

NSArray *lookups = [[xmlDoc rootElement] nodesForXPath:@"//TestA:Lookup"
                                    namespaceMappings:mappings 
                                                error:nil];

То, что я хочу сделать, это получить все поиски, чей LookupType равен Composition (сравнение строк). Итак, вот что я пробовал, и он возвращает ноль:

NSArray *lookups = [[xmlDoc rootElement] nodesForXPath:@"//TestA:Lookup[LookupType=\"Composition\"]" 
                                    namespaceMappings:mappings 
                                                error:nil];

Спасибо

1 Ответ

0 голосов
/ 21 июня 2011

XPath //TestA:Lookup[TestA:LookupType='Composition'] делает то, что вы хотите? Если родительский элемент находится в пространстве имен, то и его дочерний элемент тоже, поэтому я думаю, что вам нужен префикс для обоих элементов вашего пути.

...