[英]Tinyxml2 root setattribute
我一直在尝试使用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
class tinyxml2::XMLNode has no member named SetText
。
我努力搜索以在线找到答案,但找不到它。
谢谢
干杯
尝试更改行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 )。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.