1

CXMLElementxpath 查询文档时有没有办法找回?XCMLNode返回的项目- (NSArray *)nodesForXPath:(NSString *)xpath error:(NSError **)error;不包含属性函数。

有没有办法直接获取元素或将节点转换为元素?

谢谢

4

2 回答 2

4

您可以强制转换它,但请务必先检查类型:

for (CXMLNode *node in nodeArray)
{
    if ([node kind] == CXMLElementKind)
    {
        CXMLElement *element = (CXMLElement *)node;

        // do stuff with element
    }
}
于 2010-11-03T20:22:21.953 回答
0

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) {
...
}
于 2010-11-03T20:19:43.710 回答