gpt4 book ai didi

c++ - Tinyxml2 根集属性

转载 作者:行者123 更新时间:2023-11-28 05:41:28 24 4
gpt4 key购买 nike

我一直在尝试使用 tinyxml2 为 XML 文档中的根设置一个属性。

在tinyxml中,如下代码

TiXmlDocument doc;

TiXmlElement * root = new TiXmlElement( "ROOT" );


root->SetAttribute("msg","ImFree");
doc.LinkEndChild( root );

TiXmlElement * element = new TiXmlElement( "CHILD" );
TiXmlText * text = new TiXmlText( "Message" );
element->LinkEndChild( text );
root->LinkEndChild( element );


doc.SaveFile( "foo.xml" );

生成以下 xml 文件:

<ROOT msg="ImFree">
<CHILD>Message</CHILD>
</ROOT>

但是我仍然不知道如何在tinyxml2 中设置root 的属性。我有以下代码:

tinyxml2::XMLDocument xml_doc;

tinyxml2::XMLNode * p_root = xml_doc.NewElement("ROOT");
xml_doc.InsertFirstChild(p_root);


tinyxml2::XMLElement * p_element = xml_doc.NewElement("CHILD");
p_element->SetText("Message");
p_root->InsertEndChild(p_element);

生成:

<ROOT>
<CHILD>Message</CHILD>
</ROOT>

现在如果我写 p_root->SetText();, p_root->SetValue(); 或者 SetAttribute, 都会报错class tinyxml2::XMLNode 没有名为 SetTextSetValueSetAttribute 的成员。

我在网上苦苦寻找答案,但没有找到。

谢谢

干杯

最佳答案

尝试改变你的线路tinyxml2::XMLNode * p_root = xml_doc.NewElement("ROOT");tinyxml2::XMLElement * p_root = xml_doc.NewElement("ROOT");。 XMLNode 没有 SetAttribute 方法,只有 XMLElement 有(http://www.grinninglizard.com/tinyxml2docs/tinyxml2_8h_source.html)。

关于c++ - Tinyxml2 根集属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37006581/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com