提问人:parsley72 提问时间:10/20/2022 最后编辑:Andrew Truckleparsley72 更新时间:10/23/2022 访问量:290
为什么 TinyXml2 将 XMLDeclaration 放在末尾?
Why does TinyXml2 put XMLDeclaration at the end?
问:
我正在使用 TinyXml2 v8.0.0 创建一个 XML 缓冲区以发送到 API。该示例包括一个声明。我正在通过以下方式实现这一点:
XMLDocument doc;
doc.InsertEndChild(doc.NewDeclaration());
XMLElement* pRoot = doc.NewElement("Stuff");
doc.InsertFirstChild(pRoot);
NewDeclaration
的文档指出:
如果参数是 ,则使用标准声明。
text
null
<?xml version="1.0" encoding="UTF-8"?>
你可以把它看作是 https://github.com/leethomason/tinyxml2/blob/master/xmltest.cpp#L1637 中的测试
但是当我打印出缓冲区时,声明已放置在缓冲区的末尾换行符之后:
<Stuff>
</Stuff>
<?xml version="1.0" encoding="UTF-8"?>
有谁知道为什么会这样?我希望它位于缓冲区的开头,没有换行符。
答:
2赞
user253751
10/20/2022
#1
大概,那是因为你告诉它把声明作为 ,把元素作为 .EndChild
Stuff
FirstChild
评论
0赞
parsley72
10/20/2022
我之前尝试添加声明,但它没有区别。但是,您的建议有效。也许总是增加开始?InsertFirstChild
InsertFirstChild
0赞
user253751
10/20/2022
@parsley72,如果查找它,您会看到 InsertFirstChild 总是添加到开头,而 InsertEndChild 总是添加到结尾。
评论