Wie CXMLElement zu erhalten, wenn XPath
-
28-09-2019 - |
Frage
Gibt es eine Möglichkeit, einen CXMLElement
zurück zu bekommen, wenn XPath ein Dokument abfragt? Der XCMLNode
Artikel vom - (NSArray *)nodesForXPath:(NSString *)xpath error:(NSError **)error;
zurück nicht die Attribute Funktionen enthält.
Gibt es eine Möglichkeit, entweder direkt ein Element zu erhalten oder um den Knoten zu einem Elemente zu konvertieren?
Danke
Lösung
Sie können es werfen, aber sicher sein, die Art zu überprüfen, zuerst:
for (CXMLNode *node in nodeArray)
{
if ([node kind] == CXMLElementKind)
{
CXMLElement *element = (CXMLElement *)node;
// do stuff with element
}
}
Andere Tipps
AFAIR CXMLElement ist eine Unterklasse der CXMLNode. Wenn Sie sicher sind, dass der XPath CXMLElements zurückkehrt, dann warf nur CXMLNode zu CXMLElement. In einem anderen Fall sollten Sie Knotentyp überprüfen und dann gegossen.
Von TouchXML Dokumention:
NSArray *nodes = NULL;
// searching for piglet nodes
nodes = [doc nodesForXPath:@"//piglet" error:nil];
for (CXMLElement *node in nodes) {
...
}
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow