0

TouchXMLを使用して解析するxmlがあります。基本的に、ルックアップは次のようになります。

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

これを行うと、ドキュメント内のすべてのルックアップが返されます。

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

私がやりたいのは、LookupTypeがComposition(文字列比較)に等しいすべてのルックアップを取得することです。だからこれは私が試したものであり、nullを返します:

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

ありがとう

4

1 に答える 1

0

XPath//TestA:Lookup[TestA:LookupType='Composition']はあなたが望むことをしますか?親要素が名前空間にある場合はその子もあるので、パスの両方の要素にプレフィックスが必要だと思います。

于 2011-06-21T11:02:00.547 に答える