كيفية الحصول على cxmlelement عند استخدام xPath
-
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. في حالة أخرى ، يجب عليك التحقق من نوع العقدة ثم يلقي.
من Documention touchxml:
NSArray *nodes = NULL;
// searching for piglet nodes
nodes = [doc nodesForXPath:@"//piglet" error:nil];
for (CXMLElement *node in nodes) {
...
}
لا تنتمي إلى StackOverflow