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) {
...
}