我一直试图使用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中设置根的属性。我有以下代码:
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 has no member named SetText、SetValue或SetAttribute错误。
我在网上搜索了很难找到答案,但找不到。
谢谢
干杯
发布于 2016-05-03 14:17:11
尝试将行tinyxml2::XMLNode * p_root = xml_doc.NewElement("ROOT");更改为tinyxml2::XMLElement * p_root = xml_doc.NewElement("ROOT");。XMLNode没有SetAttribute方法,只有XMLElement有(source.html)。
https://stackoverflow.com/questions/37006581
复制相似问题