XPathを使用するときにCXMLELEMENTを取得する方法
-
28-09-2019 - |
質問
を取得する方法はありますか 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 documentionから:
NSArray *nodes = NULL;
// searching for piglet nodes
nodes = [doc nodesForXPath:@"//piglet" error:nil];
for (CXMLElement *node in nodes) {
...
}
所属していません StackOverflow