2010-10-06 2 views
0

Если у меня есть тестовый код:TinyXML сохранить форматирование при использовании CDATA блоков

TiXmlElement *parentElem = new TiXmlElement("ParentNode"); 
    TiXmlElement *newElem = new TiXmlElement("TestNode"); 
    TiXmlText *textElem = new TiXmlText("Test Content"); 
    //textElem->SetCDATA(true); 
    newElem->LinkEndChild(textElem); 
    parentElem->LinkEndChild(newElem); 

С линией комментировал я получаю выходной XML:

<ParentNode> 
    <TestNode>Test Content</TestNode> 
</ParentNode> 

раскомментировать строку я получаю:

<ParentNode> 
    <TestNode> 
     <![CDATA[Test Content]]> 
</TestNode> 
</ParentNode> 

Теперь в идеале все равно будет одна строка, но на самом деле я не возражаю против того, чтобы вставить содержимое CDATA в гнездо ... но факс t вдавливание при закрытии <TestNode> - это боль. Является ли это контролируемой частью TinyXml или ошибкой или просто так?

ответ

1

Похож на ошибку в форматировании вывода, если TinyXML.

Может ли использовать TiXmlPrinter для вывода вместо вывода TiXmlDocument (который, как я полагаю, вы используете?). TiXmlPrinter использует другой путь печати и может не иметь такой же ошибки.

Смежные вопросы