Como llegar CXMLElement cuando se utiliza XPath
-
28-09-2019 - |
Pregunta
¿Hay una manera de conseguir una vuelta CXMLElement
cuando XPath consulta de un documento? El elemento XCMLNode
devuelto por el - (NSArray *)nodesForXPath:(NSString *)xpath error:(NSError **)error;
no contiene las funciones de atributos.
¿Hay una manera de conseguir ya sea directamente o convertir un elemento del nodo a un elemento?
Gracias
Solución
Puede lanzas, pero asegúrese de comprobar el tipo de primera:
for (CXMLNode *node in nodeArray)
{
if ([node kind] == CXMLElementKind)
{
CXMLElement *element = (CXMLElement *)node;
// do stuff with element
}
}
Otros consejos
AFAIR CXMLElement es una subclase de la CXMLNode. Si está seguro de que el XPath volverá CXMLElements, a continuación, sólo echar CXMLNode a CXMLElement. En otro caso, usted debe comprobar el tipo de nodo y luego fundido.
De touchXML documention:
NSArray *nodes = NULL;
// searching for piglet nodes
nodes = [doc nodesForXPath:@"//piglet" error:nil];
for (CXMLElement *node in nodes) {
...
}
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow