CDATA указывает, что содержимое внутри не является XML.
Вот объяснение в wikipedia
Могу ли я установить итератор на позицию 5 в строке с помощью некоторого члена
Вы можете использовать std :: advance
std::advance(iterator, 5);
или
iterator += 5;
Учитывая итератор, как я могу преобразовать это в числовое смещение в строке?
Вы можете использовать std :: distance
std::distance(string.begin(), iterator);
или
iterator - string.begin()