, Если x будет помещенным в коробку интервалом тогда (int)x
, является самым быстрым.
, Если x является строкой, но является определенно верным номером тогда int.Parse(x)
, лучший
, Если x является строкой, но это не могло бы быть допустимо тогда int.TryParse(x)
, намного более быстро, чем блок try-catch.
различие между Синтаксическим анализом и TryParse незначительно во всех кроме самых крупных циклов.
, Если Вы не знаете то, что x (возможно, строка или помещенный в коробку интервал) тогда Convert.ToInt32(x)
, является лучшим.
Эти обобщенные правила также верны для всех типов значения со статическими методами Синтаксического анализа и TryParse.
Попробуйте что-нибудь вроде:
xmlNodePtr node; // Some node
NSMutableArray *attributes = [NSMutableArray array];
for(xmlAttrPtr attribute = node->properties; attribute != NULL; attribute = attribute->next){
xmlChar *content = xmlNodeListGetString(node->doc, attribute->children, YES);
[attributes addObject:[NSString stringWithUTF8String:content]];
xmlFree(content);
}
Я думаю, что joostk имел в виду атрибут-> потомки, давая что-то вроде этого:
xmlAttr* attribute = node->properties;
while(attribute)
{
xmlChar* value = xmlNodeListGetString(node->doc, attribute->children, 1);
//do something with value
xmlFree(value);
attribute = attribute->next;
}
Посмотрим, сработает ли это для вас.