Как получить атрибуты от узла в libxml2

Это зависит от того, чем Вы ожидаете, что x будет

, Если x будет помещенным в коробку интервалом тогда (int)x, является самым быстрым.

, Если x является строкой, но является определенно верным номером тогда int.Parse(x), лучший

, Если x является строкой, но это не могло бы быть допустимо тогда int.TryParse(x), намного более быстро, чем блок try-catch.

различие между Синтаксическим анализом и TryParse незначительно во всех кроме самых крупных циклов.

, Если Вы не знаете то, что x (возможно, строка или помещенный в коробку интервал) тогда Convert.ToInt32(x), является лучшим.

Эти обобщенные правила также верны для всех типов значения со статическими методами Синтаксического анализа и TryParse.

6
задан nwellnhof 12 January 2016 в 13:18
поделиться

2 ответа

Попробуйте что-нибудь вроде:

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);
}
1
ответ дан 8 December 2019 в 05:57
поделиться

Я думаю, что joostk имел в виду атрибут-> потомки, давая что-то вроде этого:

xmlAttr* attribute = node->properties;
while(attribute)
{
  xmlChar* value = xmlNodeListGetString(node->doc, attribute->children, 1);
  //do something with value
  xmlFree(value); 
  attribute = attribute->next;
}

Посмотрим, сработает ли это для вас.

10
ответ дан 8 December 2019 в 05:57
поделиться
Другие вопросы по тегам:

Похожие вопросы: