В моем текущем проекте мне нужно изменить несколько документов XML, используя tinyXML.Есть что-то вроде GetTextNode в TinyXml?
Я не нашел функцию SetText (const char *). Я знаю, что вместо этого вы должны создать TiXmlText и связать его с элементом:
TiXmlElement* pParent = ...;
TiXmlText* pText = new TiXmlText(szText);
pParent->LinkEndChild(pText);
Однако, если узел уже имеет текстовый ребенок, по моему пониманию, я должен изменить свое значение вместо этого.
я также не нашел что-то вроде FirstChildText() или GetTextNode() и т.д. Я думаю, используя эту строку
TiXmlText* pText = pParent->FirstChild()->ToText();
вызовет проблемы, если pParent уже есть другие дети, чем текст (в моем случае атрибут, комментарий - я могу игнорировать элементы/смешанный режим), поэтому я оказался в итерации по всем дочерним элементам, проверяя их тип() как TINYXML_TEXT.
Есть ли лучший способ сделать это или, может быть, существующий набор вспомогательных функций (включая setText), который я еще не нашел?