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

War es hilfreich?

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
scroll top