使用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文档:
NSArray *nodes = NULL;
// searching for piglet nodes
nodes = [doc nodesForXPath:@"//piglet" error:nil];
for (CXMLElement *node in nodes) {
...
}
不隶属于 StackOverflow