0

如果我有这个测试代码:

    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 内容嵌套......但缩进在关闭时被搞砸的事实<TestNode>是一种痛苦。这是 TinyXml 的一个可控部分,还是一个错误,或者只是它的方式?

4

1 回答 1

2

如果 TinyXML 看起来像输出格式中的错误。

使用 TiXmlPrinter 输出而不是 TiXmlDocument 输出(我假设您正在使用?)可能会起作用。TiXmlPrinter 使用不同的打印路径,并且可能没有相同的错误。

于 2010-10-06T17:13:35.140 回答