首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用tinyxml-2更新XML DOM c++上的数据

使用tinyxml-2更新XML DOM c++上的数据
EN

Stack Overflow用户
提问于 2017-01-20 13:51:42
回答 1查看 216关注 0票数 2

我想知道如何为某个属性更新DOM上的数据?我搜过了,但什么也找不到。基本上,我有一个名为Hour的属性(例如,它是"11:03"),我希望将该特定属性中的文本更改为类似于"11:04“或任何其他不同的文本。

代码语言:javascript
复制
if( strcmp(Code1,Code2) == 0 )
{
    strcpy(New,NewHour);
    Element->FindAttribute("Hour")->SetAttribute(New); // here I want it to be changed in the DOM but I dont know how to do it
}

稍后编辑:这是我尝试过的,但它告诉我FindAttribute()是私有的。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-03-01 08:50:25

确实,您可以使用SetAttribute,它接受属性、名称、作为参数。

但是,TinyXml2确实有一种使用FindAttribute的方法,因为我的应用程序中有以下代码:

代码语言:javascript
复制
// We need to get the assistant
const XMLAttribute *pAttrAssistant = const_cast<const XMLElement*>(pStudent)->FindAttribute("Assistant");
if (pAttrAssistant != nullptr)
{
    LPCTSTR szAssistant = CA2CT(pAttrAssistant->Value(), CP_UTF8);
    SetStudentInfo(eSchool, eAssign, strStudent, szAssistant, iStudyPoint);
}
else
{
    // TODO: Throw exception if Assistant attribute missing
}

如您所见,我使用FindAttribute方法,没有编译错误。如果您仔细观察,您会发现我正在使用const,这是关键。

类公开了两种方法:

其中一个设置为private,正如您已经发现的那样。但是const重载被设置为public

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41765249

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档