CXMLElementドキュメントをxpathでクエリするときに元に戻す方法はありますか? によって返されるXCMLNode項目に- (NSArray *)nodesForXPath:(NSString *)xpath error:(NSError **)error;は、属性関数が含まれていません。
要素を直接取得するか、ノードを要素に変換する方法はありますか?
ありがとう
CXMLElementドキュメントをxpathでクエリするときに元に戻す方法はありますか? によって返されるXCMLNode項目に- (NSArray *)nodesForXPath:(NSString *)xpath error:(NSError **)error;は、属性関数が含まれていません。
要素を直接取得するか、ノードを要素に変換する方法はありますか?
ありがとう
キャストできますが、最初に型を確認してください。
for (CXMLNode *node in nodeArray)
{
if ([node kind] == CXMLElementKind)
{
CXMLElement *element = (CXMLElement *)node;
// do stuff with element
}
}
AFAIR CXMLElement は CXMLNode のサブクラスです。xpath が CXMLElements を返すことが確実な場合は、CXMLNode を CXMLElement にキャストします。それ以外の場合は、ノード タイプを確認してからキャストする必要があります。
touchXML ドキュメントから:
NSArray *nodes = NULL;
// searching for piglet nodes
nodes = [doc nodesForXPath:@"//piglet" error:nil];
for (CXMLElement *node in nodes) {
...
}