Advertisement
Guest User

Untitled

a guest
Mar 7th, 2017
83
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. // Вот так делается рекурсивный проход по XML
  2. int recursiveParse(QDomNode node)
  3. {
  4.  
  5.     //Создаём список детей нашего изначального нода
  6.     QDomNodeList childList = node.childNodes();
  7.     for (int i = 0; i < childList.count(); i++)
  8.     {
  9.        
  10.         // Если есть атрибуты, их нужно считать
  11.         if (node.childNodes().at(i).hasAttributes())
  12.         {
  13.             QDomNamedNodeMap map = node.childNodes().at(i).attributes();
  14.  
  15.             // То, что отошлем в структуру
  16.             QList<QString> toStruct;
  17.             for (int j = 0; j < map.size(); ++j)
  18.             {
  19.                 QDomNode attr = map.item(j);
  20.                 // Здесь какой-то полезный код с значениями из attr.nodeValue();
  21.                
  22.             }
  23.         }
  24.  
  25.         // Игнорируем комментарии
  26.         if (node.childNodes().at(i).nodeName() != "#comment")
  27.         {
  28.  
  29.                 // Здесь какой-то полезный код с значениями из
  30.                 // node.childNodes().at(i).nodeValue();
  31.         }
  32.        
  33.         // Если у нода есть дети, то применяем на них эту же функцию
  34.         if (node.childNodes().at(i).hasChildNodes())
  35.             recursiveParse(childList.at(i));
  36.     }
  37.  
  38.     return 1;
  39. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement